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-02 10:07:15 -0500 |
commit | 5c682c369cc1a2ea096065b253a7557be5845097 (patch) | |
tree | 8eed4f64b8953558ddb169bedaf142b16002297d | |
parent | b27c715d30529f470839403ed01df2a7bb5d4b07 (diff) |
2.4.x: 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; |