[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mkv/libmatroska Matroska.cpp,1.1.4.3,1.1.4.4
From:       joeli () helixcommunity ! org
Date:       2010-11-26 2:06:29
Message-ID: 201011260206.oAQ26p3k011283 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mkv/libmatroska
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv3737

Modified Files:
      Tag: hxclient_3_6_2_atlas
	Matroska.cpp 
Log Message:
Modified by: joeli@real.com
Date: 2010-11-25
Project: RealPlayer for Android Smartphones
Bug Number: 11192

Overview: 
for some broken contents, when mkv file format parsed the file header, \
KaxContentCompSettings fetched null data. If you still GetSize from that data, it \
will crash. So we need to return fail and tell client the file is invalid.

Files Added:
NA

Files Modified:
datatype/mkv/fileformat/mkv_file_format.cpp
datatype/mkv/libmatroska/Matroska.cpp

Image Size and Heap Use impact (Client-Only):
None

Platforms and Profiles Affected:
Platform: hxclient_3_6_2_atlas & hxclient_3_6_1_atlas
Profile: helix-client-android and helix-client-all-defines

Distribution Libraries Affected:
NA 

Distribution library impact and planned action:
NA 

Platforms and Profiles Build Verified:
Platform: hxclient_3_6_2_atlas  & hxclient_3_6_1_atlas
Profile:  helix-client-android and helix-client-all-defines

Platforms and Profiles Functionality verified:
Platform: hxclient_3_6_2_atlas & hxclient_3_6_1_atlas
Profile: helix-client-android and helix-client-all-defines

Branch: hxclient_3_6_2_atlas & hxclient_3_6_1_atlas
Copyright assignment: I am a RealNetworks employee


Index: Matroska.cpp
===================================================================
RCS file: /cvsroot/datatype/mkv/libmatroska/Matroska.cpp,v
retrieving revision 1.1.4.3
retrieving revision 1.1.4.4
diff -u -d -r1.1.4.3 -r1.1.4.4
--- Matroska.cpp	25 Nov 2010 02:46:41 -0000	1.1.4.3
+++ Matroska.cpp	26 Nov 2010 02:06:23 -0000	1.1.4.4
@@ -681,6 +681,11 @@
 									        else if( EbmlId( *cca ) == \
KaxContentCompSettings::ClassInfos->GlobalId )  {
 									            KaxContentCompSettings &ccs = *(KaxContentCompSettings*)cca;
+									            if(ccs == NULL){
+									                delete tk;
+									                tk == NULL;
+									                return HXR_FAIL;
+									            }
 									            tk->uContentCompressSetting = ccs.GetSize();
 									            if(tk->eCompressionType == eHEADERSTRIPING)
 									            {
@@ -1583,7 +1588,9 @@
 								}
 								else if( !bTracksParsed && (id == KaxTracks::ClassInfos->GlobalId) )
 								{
-									ParseStreams(static_cast<KaxTracks*>( el ));
+									HX_RESULT ret = ParseStreams(static_cast<KaxTracks*>( el ));
+									if(ret != HXR_OK)
+										return ret;
 									bTracksParsed = TRUE;
 								}
 								else
@@ -1598,7 +1605,9 @@
 				}
 				else if (!bTracksParsed && (EbmlId(*ElementLevel1) == \
KaxTracks::ClassInfos->GlobalId) )  {
-					ParseStreams(static_cast<KaxTracks*>( ElementLevel1 ));
+					HX_RESULT ret = ParseStreams(static_cast<KaxTracks*>( ElementLevel1 ));
+					if(ret != HXR_OK)
+						return ret;
 					bTracksParsed = TRUE;
 				}
 				else if (!bInfoParsed && (EbmlId(*ElementLevel1) == \
KaxInfo::ClassInfos->GlobalId) )


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic