Commit 6f4f2fb7 for libheif
commit 6f4f2fb71f4f6d39ef093603ff2ec1f8a25a45ca
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Fri Dec 26 13:39:09 2025 +0100
regions: allow polyline with only 2 points
diff --git a/libheif/region.cc b/libheif/region.cc
index 7812ace2..092d060c 100644
--- a/libheif/region.cc
+++ b/libheif/region.cc
@@ -330,12 +330,23 @@ 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 (closed) {
+ if (numPoints < 3) {
+ return {
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "Region polygon with less than 3 points."
+ };
+ }
+ }
+ else {
+ if (numPoints < 2) {
+ return {
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "Region polyline with less than 2 points."
+ };
+ }
}
if (UINT32_MAX / numPoints < sizeof(Point)) {