From aeb2988eec051146a89d35d007dda1d076c722ba Mon Sep 17 00:00:00 2001 From: Mirco Miranda Date: Thu, 23 Oct 2025 11:59:39 +0200 Subject: [PATCH] Fix possible infinite loop when reading a broken jp2 --- src/imageformats/jp2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imageformats/jp2.cpp b/src/imageformats/jp2.cpp index 3b3e61c..cd92cb1 100644 --- a/src/imageformats/jp2.cpp +++ b/src/imageformats/jp2.cpp @@ -73,7 +73,7 @@ static void info_callback(const char *msg, void *client_data) static OPJ_SIZE_T jp2_read(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data) { auto dev = (QIODevice*)p_user_data; - if (dev == nullptr) { + if (dev == nullptr || dev->atEnd()) { return OPJ_SIZE_T(-1); } return OPJ_SIZE_T(dev->read((char*)p_buffer, (qint64)p_nb_bytes));