From 4923e2ecaafe340409ed67b46dba794d3e031914 Mon Sep 17 00:00:00 2001 From: Mirco Miranda Date: Mon, 11 Nov 2024 23:06:49 +0000 Subject: [PATCH] RGB: avoid to read wrong data Should fixes OSS Fuzz issue 42538251 --- src/imageformats/rgb.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/imageformats/rgb.cpp b/src/imageformats/rgb.cpp index bb5534c..bc7ce5e 100644 --- a/src/imageformats/rgb.cpp +++ b/src/imageformats/rgb.cpp @@ -316,6 +316,9 @@ bool SGIImagePrivate::readImage(QImage &img) for (l = 0; !_stream.atEnd() && l < _numrows; l++) { _stream >> _starttab[l]; _starttab[l] -= 512 + _numrows * 2 * sizeof(quint32); + if (_stream.status() != QDataStream::Ok) { + return false; + } } for (; l < _numrows; l++) { _starttab[l] = 0; @@ -324,6 +327,9 @@ bool SGIImagePrivate::readImage(QImage &img) _lengthtab = new quint32[_numrows]; for (l = 0; !_stream.atEnd() && l < _numrows; l++) { _stream >> _lengthtab[l]; + if (_stream.status() != QDataStream::Ok) { + return false; + } } }