Commit f46647c03 for imagemagick.org

commit f46647c0303824b005575ce8edebd018178fbfd9
Author: Dirk Lemstra <dirk@lemstra.org>
Date:   Mon Nov 24 22:11:05 2025 +0100

    Correct parsing of the density (#8460)

diff --git a/coders/jpeg.c b/coders/jpeg.c
index 5570424a2..99388620d 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -1097,8 +1097,7 @@ static Image *ReadOneJPEGImage(const ImageInfo *image_info,

   size_t
     bytes_per_pixel,
-    max_memory_to_use,
-    units;
+    max_memory_to_use;

   ssize_t
     i,
@@ -1189,20 +1188,17 @@ static Image *ReadOneJPEGImage(const ImageInfo *image_info,
   /*
     Set image resolution.
   */
-  units=0;
-  if (jpeg_info->saw_JFIF_marker != 0)
+  if ((jpeg_info->saw_JFIF_marker != 0) && (jpeg_info->density_unit != 0))
     {
+      if (jpeg_info->density_unit == 1)
+        image->units=PixelsPerInchResolution;
+      else if (jpeg_info->density_unit == 2)
+        image->units = PixelsPerCentimeterResolution;
       if (jpeg_info->X_density != 0)
         image->resolution.x=(double) jpeg_info->X_density;
       if (jpeg_info->Y_density != 0)
         image->resolution.y=(double) jpeg_info->Y_density;
-      if (jpeg_info->density_unit != 0)
-        units=(size_t) jpeg_info->density_unit;
     }
-  if (units == 1)
-    image->units=PixelsPerInchResolution;
-  if (units == 2)
-    image->units=PixelsPerCentimeterResolution;
   number_pixels=(MagickSizeType) image->columns*image->rows;
   option=GetImageOption(image_info,"jpeg:size");
   if ((option != (const char *) NULL) &&