Commit 2414da01 for libheif
commit 2414da01938198b5b69bca9c5a64dc1c08043947
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Mon Dec 15 19:39:57 2025 +0100
make sure add_unci_item() is never called with nullptr
diff --git a/libheif/api/libheif/heif_uncompressed.cc b/libheif/api/libheif/heif_uncompressed.cc
index 309b1f20..0064ab35 100644
--- a/libheif/api/libheif/heif_uncompressed.cc
+++ b/libheif/api/libheif/heif_uncompressed.cc
@@ -87,9 +87,19 @@ heif_error heif_context_add_empty_unci_image(heif_context* ctx,
return heif_error_null_pointer_argument;
}
+ heif_encoding_options* default_options = nullptr;
+ if (encoding_options == nullptr) {
+ default_options = heif_encoding_options_alloc();
+ encoding_options = default_options;
+ }
+
Result<std::shared_ptr<ImageItem_uncompressed>> unciImageResult;
unciImageResult = ImageItem_uncompressed::add_unci_item(ctx->context.get(), parameters, encoding_options, prototype->image);
+ if (encoding_options) {
+ heif_encoding_options_free(default_options);
+ }
+
if (!unciImageResult) {
return unciImageResult.error_struct(ctx->context.get());
}
diff --git a/libheif/image-items/unc_image.cc b/libheif/image-items/unc_image.cc
index c9a221b5..136ff94e 100644
--- a/libheif/image-items/unc_image.cc
+++ b/libheif/image-items/unc_image.cc
@@ -374,6 +374,8 @@ Result<std::shared_ptr<ImageItem_uncompressed>> ImageItem_uncompressed::add_unci
const heif_encoding_options* encoding_options,
const std::shared_ptr<const HeifPixelImage>& prototype)
{
+ assert(encoding_options != nullptr);
+
// Check input parameters
if (parameters->image_width % parameters->tile_width != 0 ||