summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-12-24 03:03:02 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-12-24 03:03:02 +0100
commit71885caad777b549f86b08c87b072c31a205cf3d (patch)
treef5536fef7110dd9b672d230a3b03fdb52c6c3660 /src
parenta2d5e9d3edb869a3ab0d6b52cd9b240d9e5b1be7 (diff)
parent6124b900d9507687c21e43e68f495bbee9d8d45b (diff)
downloadqtimageformats-71885caad777b549f86b08c87b072c31a205cf3d.tar.gz
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I6e079d36038a811d3259e2a5a147601fbf5640fc
Diffstat (limited to 'src')
-rw-r--r--src/plugins/imageformats/tiff/qtiffhandler.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/imageformats/tiff/qtiffhandler.cpp b/src/plugins/imageformats/tiff/qtiffhandler.cpp
index cdab10e..ffc2ad7 100644
--- a/src/plugins/imageformats/tiff/qtiffhandler.cpp
+++ b/src/plugins/imageformats/tiff/qtiffhandler.cpp
@@ -205,9 +205,14 @@ bool QTiffHandlerPrivate::canRead(QIODevice *device)
// current implementation uses TIFFClientOpen which needs to be
// able to seek, so sequential devices are not supported
- QByteArray header = device->peek(4);
- return header == QByteArray::fromRawData("\x49\x49\x2A\x00", 4)
- || header == QByteArray::fromRawData("\x4D\x4D\x00\x2A", 4);
+ char h[4];
+ if (device->peek(h, 4) != 4)
+ return false;
+ if ((h[0] == 0x49 && h[1] == 0x49) && (h[2] == 0x2a || h[2] == 0x2b) && h[3] == 0)
+ return true; // Little endian, classic or bigtiff
+ if ((h[0] == 0x4d && h[1] == 0x4d) && h[2] == 0 && (h[3] == 0x2a || h[3] == 0x2b))
+ return true; // Big endian, classic or bigtiff
+ return false;
}
bool QTiffHandlerPrivate::openForRead(QIODevice *device)