Blame SOURCES/ImageMagick-null-pointer-access.patch

b7c072
diff -up ImageMagick-6.7.8-9/magick/constitute.c.null-pointer-access ImageMagick-6.7.8-9/magick/constitute.c
b7c072
--- ImageMagick-6.7.8-9/magick/constitute.c.null-pointer-access	2012-07-29 22:26:50.000000000 +0200
b7c072
+++ ImageMagick-6.7.8-9/magick/constitute.c	2016-06-02 17:32:26.990718329 +0200
b7c072
@@ -1324,7 +1324,7 @@ MagickExport MagickBooleanType WriteImag
b7c072
     status;
b7c072
 
b7c072
   register Image
b7c072
-    *p;
b7c072
+    *p, *next_p;
b7c072
 
b7c072
   assert(image_info != (const ImageInfo *) NULL);
b7c072
   assert(image_info->signature == MagickSignature);
b7c072
@@ -1349,8 +1349,11 @@ MagickExport MagickBooleanType WriteImag
b7c072
     sans_exception);
b7c072
   sans_exception=DestroyExceptionInfo(sans_exception);
b7c072
   p=images;
b7c072
-  for ( ; GetNextImageInList(p) != (Image *) NULL; p=GetNextImageInList(p))
b7c072
-    if (p->scene >= GetNextImageInList(p)->scene)
b7c072
+  for ( ; GetNextImageInList(p) != (Image *) NULL; p=GetNextImageInList(p)) {
b7c072
+    next_p = GetNextImageInList(p);
b7c072
+    if (next_p == (Image *) NULL)
b7c072
+      break;
b7c072
+    if (p->scene >= next_p->scene)
b7c072
       {
b7c072
         register ssize_t
b7c072
           i;
b7c072
@@ -1363,6 +1366,7 @@ MagickExport MagickBooleanType WriteImag
b7c072
           p->scene=(size_t) i++;
b7c072
         break;
b7c072
       }
b7c072
+  }
b7c072
   /*
b7c072
     Write images.
b7c072
   */