[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