summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Kjernåsen <trond@trolltech.com>2010-01-26 09:55:31 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-01-27 10:46:42 (GMT)
commite9153669f435348e8d4c92b68ad67831f5639bfd (patch)
treeb4af49ab37b4fe014ad28a349fb0a5a380208078
parent73f4a5bbe38e1d723ebeaff90b48e357f898260c (diff)
downloadQt-e9153669f435348e8d4c92b68ad67831f5639bfd.zip
Qt-e9153669f435348e8d4c92b68ad67831f5639bfd.tar.gz
Qt-e9153669f435348e8d4c92b68ad67831f5639bfd.tar.bz2
Fixed an infinite loop that could occur when reading invalid BMP images.
Task-number: QTBUG-7530 Reviewed-by: Kim (cherry picked from commit 0a3ce6fa04ed2b085fe72b89d302a3a5f9e82948)
-rw-r--r--src/gui/image/qbmphandler.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index 854be2e..42e19b8 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -144,7 +144,7 @@ static QDataStream &operator<<(QDataStream &s, const BMP_INFOHDR &bi)
static int calc_shift(int mask)
{
int result = 0;
- while (!(mask & 1)) {
+ while (mask && !(mask & 1)) {
result++;
mask >>= 1;
}