Commit 50e56a33 for libheif
commit 50e56a338e6b48ba05344758744b3b74e1612cd0
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Fri Dec 26 13:37:19 2025 +0100
regions: check that polygons have at least 3 points
diff --git a/libheif/region.cc b/libheif/region.cc
index a52c988f..7812ace2 100644
--- a/libheif/region.cc
+++ b/libheif/region.cc
@@ -330,6 +330,14 @@ Error RegionGeometry_Polygon::parse(const std::vector<uint8_t>& data,
"Insufficient data remaining for polygon");
}
+ if (numPoints < 3) {
+ return {
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "Region polygon with less than 3 points."
+ };
+ }
+
if (UINT32_MAX / numPoints < sizeof(Point)) {
return {
heif_error_Memory_allocation_error,