From 6d4a456a28282973d2501e0b16f09cafb316bb0a Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Fri, 5 Apr 2019 11:25:13 +0200 Subject: Fix off-by-one error in QTranslatorPrivate::do_load() The central loop starts by reading five bytes; but the loop condition only checked that four were available. Change-Id: I244cecacabeffbac10ad94081f32847f912d95d9 Reviewed-by: Kai Koehne Reviewed-by: Thiago Macieira Reviewed-by: hjk --- src/corelib/kernel/qtranslator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp index 929554f6bc..63aeed07c3 100644 --- a/src/corelib/kernel/qtranslator.cpp +++ b/src/corelib/kernel/qtranslator.cpp @@ -824,7 +824,7 @@ bool QTranslatorPrivate::do_load(const uchar *data, int len, const QString &dire data += MagicLength; QStringList dependencies; - while (data < end - 4) { + while (data < end - 5) { quint8 tag = read8(data++); quint32 blockLen = read32(data); data += 4; -- cgit v1.2.3