Commit 322dd22c for libheif

commit 322dd22c97af6552f1aa48d030a60c1dce9f57a8
Author: Dirk Farin <dirk.farin@gmail.com>
Date:   Sat Apr 11 23:48:19 2026 +0200

    jpeg: check valid BPP before initializing jpeg_compress_struct

diff --git a/libheif/plugins/encoder_jpeg.cc b/libheif/plugins/encoder_jpeg.cc
index 7dde0e43..2376d6b9 100644
--- a/libheif/plugins/encoder_jpeg.cc
+++ b/libheif/plugins/encoder_jpeg.cc
@@ -344,7 +344,11 @@ heif_error jpeg_encode_image(void* encoder_raw, const heif_image* image,
   auto* encoder = (encoder_struct_jpeg*) encoder_raw;


-  jpeg_compress_struct cinfo;
+  if (heif_image_get_bits_per_pixel(image, heif_channel_Y) != 8) {
+    return heif_error{heif_error_Encoding_error, heif_suberror_Encoder_encoding, "Cannot write JPEG image with >8 bpp."};
+  }
+
+  jpeg_compress_struct cinfo{};
   ErrorHandler jerr;
   cinfo.err = jpeg_std_error(reinterpret_cast<jpeg_error_mgr*>(&jerr));
   jerr.pub.error_exit = &OnJpegError;
@@ -354,11 +358,6 @@ heif_error jpeg_encode_image(void* encoder_raw, const heif_image* image,
     return heif_error{heif_error_Encoding_error, heif_suberror_Encoder_encoding, "JPEG encoding error"};
   }

-  if (heif_image_get_bits_per_pixel(image, heif_channel_Y) != 8) {
-    jpeg_destroy_compress(&cinfo);
-    return heif_error{heif_error_Encoding_error, heif_suberror_Encoder_encoding, "Cannot write JPEG image with >8 bpp."};
-  }
-
   uint8_t* outbuffer = nullptr;
 #if defined(LIBJPEG_TURBO_VERSION) || (JPEG_LIB_VERSION_MAJOR < 9 || (JPEG_LIB_VERSION_MAJOR == 9 && JPEG_LIB_VERSION_MINOR < 4))
   unsigned long outlength = 0;