From 9a3359b57b2286286c3a83fcfab79545b3ce114b Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 4 Jul 2018 16:19:19 +0200 Subject: [PATCH] Fix: png handler returning Mono QImage with color table < 2 items A bit depth 1 png image may contain a single color table item. The png handler would in such cases reduce the size of the QImage color table to 1, which could easily lead to crashes later on. Task-number: QTBUG-69256 Change-Id: I01d78977c121bacc44b823231d8f32ca63d8a98c Reviewed-by: Allan Sandfeld Jensen --- src/gui/image/qpnghandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp index 9506a95506..42b9e71087 100644 --- a/src/gui/image/qpnghandler.cpp +++ b/src/gui/image/qpnghandler.cpp @@ -328,7 +328,7 @@ void setup_qt(QImage& image, png_structp png_ptr, png_infop info_ptr, QSize scal return; } png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette); - image.setColorCount(num_palette); + image.setColorCount((format == QImage::Format_Mono) ? 2 : num_palette); int i = 0; if (png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color_p) && trans_alpha) { while (i < num_trans) {