From fe5d9340b13cb1dc7fd185b725d7c1c018da3bcb Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 6 Jun 2023 16:29:18 +0200 Subject: [PATCH] rcc: Fix bad data signature recognition Done-by: Mathias Hasselmann Fixes: QTBUG-73834 Change-Id: I99c480a2ef50ed110e0d98a9dd56661ea851397a Reviewed-by: Joerg Bornemann Reviewed-by: Qt CI Bot --- src/tools/rcc/rcc.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp index e461ab62948..4e5269cc996 100644 --- a/src/tools/rcc/rcc.cpp +++ b/src/tools/rcc/rcc.cpp @@ -929,13 +929,17 @@ bool RCCResourceLibrary::output(QIODevice &outDevice, QIODevice &tempDevice, QIO m_errorDevice->write("No data signature found\n"); return false; } + + if (c != pattern[i]) { + for (int k = 0; k < i; ++k) + outDevice.putChar(pattern[k]); + i = 0; + } + if (c == pattern[i]) { ++i; } else { - for (int k = 0; k < i; ++k) - outDevice.putChar(pattern[k]); outDevice.putChar(c); - i = 0; } }