Commit 12369427 for libheif
commit 123694271ac02f2de68a3ccdc5d483eb8a2ae593
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Thu Mar 5 19:00:57 2026 +0100
fix possible buffer overflow when reading mask image
diff --git a/libheif/image-items/mask_image.cc b/libheif/image-items/mask_image.cc
index 328d1797..1c4357ff 100644
--- a/libheif/image-items/mask_image.cc
+++ b/libheif/image-items/mask_image.cc
@@ -113,8 +113,8 @@ Error MaskImageCodec::decode_mask_image(const HeifContext* context,
size_t stride;
uint8_t* dst = img->get_plane(heif_channel_Y, &stride);
- if (((uint32_t)stride) == width) {
- memcpy(dst, data.data(), data.size());
+ if (stride == static_cast<size_t>(width)) {
+ memcpy(dst, data.data(), static_cast<size_t>(width) * height);
}
else
{