diff options
author | hjk <hjk@qt.io> | 2023-06-06 16:29:18 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-06-09 11:27:10 +0200 |
commit | fe5d9340b13cb1dc7fd185b725d7c1c018da3bcb (patch) | |
tree | 85d974b9a7a681713430d738ce47532b2341bb98 | |
parent | 53fa325f4c4ae5721a4858eeec33ef79d19d1acf (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.cpp | 10 |
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; } } |