diff --git a/djvulibre-3.5.27-check-image-size.patch b/djvulibre-3.5.27-check-image-size.patch index 9d0d5b8..8730c25 100644 --- a/djvulibre-3.5.27-check-image-size.patch +++ b/djvulibre-3.5.27-check-image-size.patch @@ -2,12 +2,14 @@ diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp index e8d4b44..aa3d554 100644 --- a/libdjvu/IW44Image.cpp +++ b/libdjvu/IW44Image.cpp -@@ -678,7 +678,11 @@ IW44Image::Map::image(signed char *img8, int rowsize, int pixsep, int fast) +@@ -678,9 +678,13 @@ IW44Image::Map::image(signed char *img8, int rowsize, int pixsep, int fast) + // Allocate reconstruction buffer + short *data16; size_t sz = bw * bh; - if (sz / (size_t)bw != (size_t)bh) // multiplication overflow - G_THROW("IW44Image: image size exceeds maximum (corrupted file?)"); + if (sz == 0) + G_THROW("IW44Image: zero size image (corrupted file?)"); + if (sz / (size_t)bw != (size_t)bh) // multiplication overflow + G_THROW("IW44Image: image size exceeds maximum (corrupted file?)"); GPBuffer gdata16(data16,sz); + if (data16 == NULL) + G_THROW("IW44Image: unable to allocate image data"); diff --git a/djvulibre.spec b/djvulibre.spec index 4a0acf5..3ac4776 100644 --- a/djvulibre.spec +++ b/djvulibre.spec @@ -3,7 +3,7 @@ Summary: DjVu viewers, encoders, and utilities Name: djvulibre Version: 3.5.28 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ URL: http://djvu.sourceforge.net/ Source0: http://downloads.sourceforge.net/djvu/%{name}-%{version}.tar.gz @@ -181,6 +181,10 @@ fi %changelog +* Tue May 07 2024 Marek Kasik - 3.5.28-4 +- Improve image size fix +- Resolves: #2234740 + * Fri Mar 18 2022 Marek Kasik - 3.5.28-3 - Initial EPEL 8 release - Resolves: #1739168