From d598c3cccfb48ed60921909199a2a9d80c2371b1 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sun, 27 Nov 2022 18:23:35 +0200 Subject: [PATCH] kimgio: verify the image color space earlier in jp2 plugin Signed-off-by: Ivailo Monev --- kimgio/jp2.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kimgio/jp2.cpp b/kimgio/jp2.cpp index fb515076..34ba62c2 100644 --- a/kimgio/jp2.cpp +++ b/kimgio/jp2.cpp @@ -179,15 +179,6 @@ bool JP2Handler::read(QImage *image) return false; } - *image = QImage(ojimage->comps->w, ojimage->comps->h, QImage::Format_ARGB32); - if (Q_UNLIKELY(image->isNull())) { - kWarning() << "Could not create image"; - opj_destroy_codec(ojcodec); - opj_stream_destroy(ojstream); - opj_image_destroy(ojimage); - return false; - } - switch (ojimage->color_space) { case OPJ_CLRSPC_UNKNOWN: case OPJ_CLRSPC_UNSPECIFIED: { @@ -210,6 +201,15 @@ bool JP2Handler::read(QImage *image) } } + *image = QImage(ojimage->comps->w, ojimage->comps->h, QImage::Format_ARGB32); + if (Q_UNLIKELY(image->isNull())) { + kWarning() << "Could not create image"; + opj_destroy_codec(ojcodec); + opj_stream_destroy(ojstream); + opj_image_destroy(ojimage); + return false; + } + switch (ojimage->numcomps) { case 4: { QRgb* imagebits = reinterpret_cast(image->bits());