Commit 1806fd57 for libheif

commit 1806fd5760eecf72eca5c944af225ae471664218
Author: Dirk Farin <dirk.farin@gmail.com>
Date:   Sat Apr 11 00:00:28 2026 +0200

    Fix x265 param leak in end_sequence_encoding when encoder produces no output

diff --git a/libheif/plugins/encoder_x265.cc b/libheif/plugins/encoder_x265.cc
index 88538c26..cf9c74f9 100644
--- a/libheif/plugins/encoder_x265.cc
+++ b/libheif/plugins/encoder_x265.cc
@@ -348,6 +348,10 @@ static void x265_free_encoder(void* encoder_raw)
     api->encoder_close(encoder->encoder);
   }

+  if (encoder->param && encoder->api) {
+    encoder->api->param_free(encoder->param);
+  }
+
   delete encoder;
 }

@@ -1163,16 +1167,14 @@ static heif_error x265_end_sequence_encoding(void* encoder_raw)
                                    NULL,
                                    &out_pic);
 #endif
-  if (result <= 0 || num_nals == 0) {
-    return heif_error_ok;
-  }
-
+  if (result > 0 && num_nals > 0) {
 #if X265_BUILD == 212
-  uintptr_t frameNr = out_pic ? reinterpret_cast<uintptr_t>(out_pic->userData) : 0;
+    uintptr_t frameNr = out_pic ? reinterpret_cast<uintptr_t>(out_pic->userData) : 0;
 #else
-  uintptr_t frameNr = reinterpret_cast<uintptr_t>(out_pic.userData);
+    uintptr_t frameNr = reinterpret_cast<uintptr_t>(out_pic.userData);
 #endif
-  encoder->append_nal_packets(nals, num_nals, frameNr);
+    encoder->append_nal_packets(nals, num_nals, frameNr);
+  }

   encoder->api->param_free(encoder->param);
   encoder->param = nullptr;