Commit b6d4908c for libheif
commit b6d4908ce717c8f627ba538b99dbc429b3a587a5
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Sat Dec 27 23:35:21 2025 +0100
resolve endless loop when trying to zlib-decompress empty input data (#1647)
diff --git a/libheif/compression_zlib.cc b/libheif/compression_zlib.cc
index c4d6f837..e76fbf33 100644
--- a/libheif/compression_zlib.cc
+++ b/libheif/compression_zlib.cc
@@ -82,6 +82,11 @@ std::vector<uint8_t> compress(const uint8_t* input, size_t size, int windowSize)
Result<std::vector<uint8_t>> do_inflate(const std::vector<uint8_t>& compressed_input, int windowSize)
{
+ if (compressed_input.empty()) {
+ return Error(heif_error_Invalid_input, heif_suberror_Decompression_invalid_data,
+ "Empty zlib compressed data.");
+ }
+
std::vector<uint8_t> output;
// decompress data with zlib