Commit 327b0361 for libheif
commit 327b0361aa21d8ceb1f16e186c6a10dd579527b2
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Tue May 19 14:46:28 2026 +0200
PNG: show the same EXIF write error as for JPEG
diff --git a/heifio/encoder_png.cc b/heifio/encoder_png.cc
index d35c1ecf..f103ec88 100644
--- a/heifio/encoder_png.cc
+++ b/heifio/encoder_png.cc
@@ -140,7 +140,10 @@ bool PngEncoder::Encode(const heif_image_handle* handle,
if (exifdata) {
if (exifsize > 4) {
uint32_t skip = four_bytes_to_uint32(exifdata[0], exifdata[1], exifdata[2], exifdata[3]);
- if (skip < (exifsize - 4)) {
+ if (skip > (exifsize - 4)) {
+ fprintf(stderr, "Invalid EXIF data (offset too large)\n");
+ }
+ else {
skip += 4;
uint8_t* ptr = exifdata + skip;
size_t size = exifsize - skip;