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