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-01 21:02:45 -0500
commit886cd1d2314755adb1f4cdb99c16ff00830f0331 (patch)
treef54a0f817db62375b9e25df270884a5fc4ccaed2
parentfc190643f3d75a97c0408c750340c3500727c9ea (diff)
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;