From 309cddbe8389184541f8a7cc4385d2a3139ec1d1 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Mon, 28 Jan 2019 01:30:17 +0100 Subject: [PATCH] xcf: bzero buffer if read less data than expected --- src/imageformats/xcf.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/imageformats/xcf.cpp b/src/imageformats/xcf.cpp index 7746db5..f837112 100644 --- a/src/imageformats/xcf.cpp +++ b/src/imageformats/xcf.cpp @@ -1119,7 +1119,11 @@ bool XCFImageFormat::loadTileRLE(QDataStream &xcf_io, uchar *tile, int image_siz xcfdata = xcfodata = new uchar[data_length]; - xcf_io.readRawData((char *)xcfdata, data_length); + const int dataRead = xcf_io.readRawData((char *)xcfdata, data_length); + if (dataRead < data_length) { +// qDebug() << "XCF: read less data than expected" << data_length << dataRead; + bzero(&xcfdata[dataRead], data_length - dataRead); + } if (!xcf_io.device()->isOpen()) { delete[] xcfodata;