summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-06-06 16:29:18 +0200
committerhjk <hjk@qt.io>2023-06-09 11:27:10 +0200
commitfe5d9340b13cb1dc7fd185b725d7c1c018da3bcb (patch)
tree85d974b9a7a681713430d738ce47532b2341bb98
parent53fa325f4c4ae5721a4858eeec33ef79d19d1acf (diff)
rcc: Fix bad data signature recognition
Done-by: Mathias Hasselmann Fixes: QTBUG-73834 Change-Id: I99c480a2ef50ed110e0d98a9dd56661ea851397a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--src/tools/rcc/rcc.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index e461ab6294..4e5269cc99 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;
}
}