summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHubert Figuière <hub@figuiere.net>2018-02-01 21:02:45 -0500
committerHubert Figuière <hub@figuiere.net>2018-02-02 10:07:15 -0500
commit5c682c369cc1a2ea096065b253a7557be5845097 (patch)
tree8eed4f64b8953558ddb169bedaf142b16002297d
parentb27c715d30529f470839403ed01df2a7bb5d4b07 (diff)
2.4.x: Bug 102483 - Fix an infinite loop in QuickTime parser.
-rw-r--r--XMPFiles/source/FormatSupport/QuickTime_Support.cpp3
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;