diff options
author | Hubert Figuière <hub@figuiere.net> | 2018-02-01 21:02:45 -0500 |
---|---|---|
committer | Hubert Figuière <hub@figuiere.net> | 2018-02-01 21:02:45 -0500 |
commit | 886cd1d2314755adb1f4cdb99c16ff00830f0331 (patch) | |
tree | f54a0f817db62375b9e25df270884a5fc4ccaed2 | |
parent | fc190643f3d75a97c0408c750340c3500727c9ea (diff) |
Bug 102483 - Fix an infinite loop in QuickTime parser.
-rw-r--r-- | XMPFiles/source/FormatSupport/QuickTime_Support.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/XMPFiles/source/FormatSupport/QuickTime_Support.cpp b/XMPFiles/source/FormatSupport/QuickTime_Support.cpp index 8e2d45a..c735693 100644 --- a/XMPFiles/source/FormatSupport/QuickTime_Support.cpp +++ b/XMPFiles/source/FormatSupport/QuickTime_Support.cpp @@ -920,7 +920,8 @@ bool TradQT_Manager::ParseCachedBoxes ( const MOOV_Manager & moovMgr ) miniLen = 4 + GetUns16BE ( boxPtr ); // ! Include header in local miniLen. macLang = GetUns16BE ( boxPtr+2); - if ( (miniLen <= 4) || (miniLen > (boxEnd - boxPtr)) ) continue; // Ignore bad or empty values. + if ( (miniLen <= 4) || (miniLen > (boxEnd - boxPtr)) ) + break; // Ignore bad or empty values. XMP_StringPtr valuePtr = (char*)(boxPtr+4); size_t valueLen = miniLen - 4; |