File ImageMagick-CVE-2026-25576.patch of Package ImageMagick.42998

From 077b42643212d7da8c1a4f6b2cd0067ebca8ec0f Mon Sep 17 00:00:00 2001
From: Dirk Lemstra <dirk@lemstra.org>
Date: Sun, 25 Jan 2026 19:21:20 +0100
Subject: [PATCH] Fixed out of bounds read in multiple coders that read raw
 pixel data (GHSA-jv4p-gjwq-9r2j)

---
 coders/bgr.c   | 22 ++++++++++++----------
 coders/cmyk.c  | 26 ++++++++++++++------------
 coders/gray.c  | 14 ++++++++------
 coders/raw.c   |  4 +++-
 coders/rgb.c   | 26 +++++++++++++++-----------
 coders/ycbcr.c | 22 ++++++++++++----------
 6 files changed, 64 insertions(+), 50 deletions(-)

Index: ImageMagick-7.1.0-9/coders/bgr.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/bgr.c
+++ ImageMagick-7.1.0-9/coders/bgr.c
@@ -125,6 +125,7 @@ static Image *ReadBGRImage(const ImageIn
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -205,6 +206,7 @@ static Image *ReadBGRImage(const ImageIn
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -265,7 +267,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
@@ -348,7 +350,7 @@ static Image *ReadBGRImage(const ImageIn
                 if ((p == (const Quantum *) NULL) ||
                     (q == (Quantum *) NULL))
                   break;
-                for (x=0; x < (ssize_t) image->columns; x++)
+                for (x=0; x < columns; x++)
                 {
                   switch (quantum_type)
                   {
@@ -444,7 +446,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -497,7 +499,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -550,7 +552,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -612,7 +614,7 @@ static Image *ReadBGRImage(const ImageIn
                   if ((p == (const Quantum *) NULL) ||
                       (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -703,7 +705,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -774,7 +776,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -845,7 +847,7 @@ static Image *ReadBGRImage(const ImageIn
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -918,7 +920,7 @@ static Image *ReadBGRImage(const ImageIn
                   if ((p == (const Quantum *) NULL) ||
                       (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
Index: ImageMagick-7.1.0-9/coders/cmyk.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/cmyk.c
+++ ImageMagick-7.1.0-9/coders/cmyk.c
@@ -125,6 +125,7 @@ static Image *ReadCMYKImage(const ImageI
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -202,6 +203,7 @@ static Image *ReadCMYKImage(const ImageI
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -263,7 +265,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
@@ -347,7 +349,7 @@ static Image *ReadCMYKImage(const ImageI
                   image->columns,1,exception);
                 if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                   break;
-                for (x=0; x < (ssize_t) image->columns; x++)
+                for (x=0; x < columns; x++)
                 {
                   switch (quantum_type)
                   {
@@ -442,7 +444,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -494,7 +496,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -546,7 +548,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -598,7 +600,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlack(image,GetPixelBlack(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -653,7 +655,7 @@ static Image *ReadCMYKImage(const ImageI
                     image->columns,1,exception);
                   if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -743,7 +745,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -813,7 +815,7 @@ static Image *ReadCMYKImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -884,7 +886,7 @@ static Image *ReadCMYKImage(const ImageI
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -955,7 +957,7 @@ static Image *ReadCMYKImage(const ImageI
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlack(image,GetPixelBlack(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -1028,7 +1030,7 @@ static Image *ReadCMYKImage(const ImageI
                   if ((p == (const Quantum *) NULL) ||
                       (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
Index: ImageMagick-7.1.0-9/coders/gray.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/gray.c
+++ ImageMagick-7.1.0-9/coders/gray.c
@@ -126,6 +126,7 @@ static Image *ReadGRAYImage(const ImageI
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -201,6 +202,7 @@ static Image *ReadGRAYImage(const ImageI
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -260,7 +262,7 @@ static Image *ReadGRAYImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
@@ -340,7 +342,7 @@ static Image *ReadGRAYImage(const ImageI
                   image->columns,1,exception);
                 if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                   break;
-                for (x=0; x < (ssize_t) image->columns; x++)
+                for (x=0; x < columns; x++)
                 {
                   switch (quantum_type)
                   {
@@ -420,7 +422,7 @@ static Image *ReadGRAYImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGray(image,GetPixelGray(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -475,7 +477,7 @@ static Image *ReadGRAYImage(const ImageI
                     image->columns,1,exception);
                   if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -565,7 +567,7 @@ static Image *ReadGRAYImage(const ImageI
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -638,7 +640,7 @@ static Image *ReadGRAYImage(const ImageI
                     image->columns,1,exception);
                   if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
Index: ImageMagick-7.1.0-9/coders/raw.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/raw.c
+++ ImageMagick-7.1.0-9/coders/raw.c
@@ -119,6 +119,7 @@ static Image *ReadRAWImage(const ImageIn
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -187,6 +188,7 @@ static Image *ReadRAWImage(const ImageIn
   length=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -239,7 +241,7 @@ static Image *ReadRAWImage(const ImageIn
             1,exception);
           if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
             break;
-          for (x=0; x < (ssize_t) image->columns; x++)
+          for (x=0; x < columns; x++)
           {
             SetPixelRed(image,GetPixelRed(canvas_image,p),q);
             SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
Index: ImageMagick-7.1.0-9/coders/rgb.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/rgb.c
+++ ImageMagick-7.1.0-9/coders/rgb.c
@@ -126,6 +126,7 @@ static Image *ReadRGBImage(const ImageIn
 
   ssize_t
     count,
+    columns,
     y;
 
   unsigned char
@@ -205,6 +206,7 @@ static Image *ReadRGBImage(const ImageIn
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -264,7 +266,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
@@ -348,7 +350,7 @@ static Image *ReadRGBImage(const ImageIn
                   image->columns,1,exception);
                 if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                   break;
-                for (x=0; x < (ssize_t) image->columns; x++)
+                for (x=0; x < columns; x++)
                 {
                   switch (quantum_type)
                   {
@@ -443,7 +445,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -495,7 +497,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -547,7 +549,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -602,7 +604,7 @@ static Image *ReadRGBImage(const ImageIn
                     image->columns,1,exception);
                   if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -692,7 +694,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -762,7 +764,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -832,7 +834,7 @@ static Image *ReadRGBImage(const ImageIn
                 image->columns,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -904,7 +906,7 @@ static Image *ReadRGBImage(const ImageIn
                     image->columns,1,exception);
                   if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -1021,6 +1023,7 @@ static Image *ReadRGB565Image(const Imag
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -1090,6 +1093,7 @@ static Image *ReadRGB565Image(const Imag
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -1143,7 +1147,7 @@ static Image *ReadRGB565Image(const Imag
             image->columns,1,exception);
           if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
             break;
-          for (x=0; x < (ssize_t) image->columns; x++)
+          for (x=0; x < columns; x++)
           {
             unsigned short
               pixel;
Index: ImageMagick-7.1.0-9/coders/ycbcr.c
===================================================================
--- ImageMagick-7.1.0-9.orig/coders/ycbcr.c
+++ ImageMagick-7.1.0-9/coders/ycbcr.c
@@ -125,6 +125,7 @@ static Image *ReadYCBCRImage(const Image
     length;
 
   ssize_t
+    columns,
     count,
     y;
 
@@ -202,6 +203,7 @@ static Image *ReadYCBCRImage(const Image
   scene=0;
   status=MagickTrue;
   stream=NULL;
+  columns=(ssize_t) MagickMin(image->columns,canvas_image->columns);
   do
   {
     /*
@@ -264,7 +266,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
@@ -346,7 +348,7 @@ static Image *ReadYCBCRImage(const Image
                 if ((p == (const Quantum *) NULL) ||
                     (q == (Quantum *) NULL))
                   break;
-                for (x=0; x < (ssize_t) image->columns; x++)
+                for (x=0; x < columns; x++)
                 {
                   switch (quantum_type)
                   {
@@ -437,7 +439,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -490,7 +492,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -543,7 +545,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -599,7 +601,7 @@ static Image *ReadYCBCRImage(const Image
                   if ((p == (const Quantum *) NULL) ||
                       (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
@@ -690,7 +692,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelRed(image,GetPixelRed(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -761,7 +763,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelGreen(image,GetPixelGreen(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -832,7 +834,7 @@ static Image *ReadYCBCRImage(const Image
               if ((p == (const Quantum *) NULL) ||
                   (q == (Quantum *) NULL))
                 break;
-              for (x=0; x < (ssize_t) image->columns; x++)
+              for (x=0; x < columns; x++)
               {
                 SetPixelBlue(image,GetPixelBlue(canvas_image,p),q);
                 p+=GetPixelChannels(canvas_image);
@@ -906,7 +908,7 @@ static Image *ReadYCBCRImage(const Image
                   if ((p == (const Quantum *) NULL) ||
                       (q == (Quantum *) NULL))
                     break;
-                  for (x=0; x < (ssize_t) image->columns; x++)
+                  for (x=0; x < columns; x++)
                   {
                     SetPixelAlpha(image,GetPixelAlpha(canvas_image,p),q);
                     p+=GetPixelChannels(canvas_image);
openSUSE Build Service is sponsored by