]> granicus.if.org Git - imagemagick/commitdiff
fix multiple null pointer
authorroot <356986351@qq.com>
Fri, 29 Sep 2017 05:41:10 +0000 (05:41 +0000)
committerDirk Lemstra <dlemstra@users.noreply.github.com>
Fri, 29 Sep 2017 08:50:00 +0000 (10:50 +0200)
MagickCore/accelerate.c
MagickCore/cache.c
MagickCore/display.c
MagickCore/montage.c

index ce8cc2fca29117be3521fd09d2985b5e80441063..d1cfeab8bb40731c1013e415f14676e8356dd03c 100644 (file)
@@ -285,6 +285,13 @@ static cl_mem createKernelInfo(MagickCLDevice device,const double radius,
   }
   kernelBufferPtr=(float *)AcquireMagickMemory(kernel->width*
     sizeof(*kernelBufferPtr));
+  if (kernelBufferPtr == (float *) NULL)
+    {
+      kernel=DestroyKernelInfo(kernel);
+      (void) OpenCLThrowMagickException(device,exception,GetMagickModule(),
+        ResourceLimitWarning,"MemoryAllocationFailed.",".");
+      return((cl_mem) NULL);
+    }
   for (i = 0; i < (ssize_t) kernel->width; i++)
     kernelBufferPtr[i] = (float)kernel->values[i];
   imageKernelBuffer=CreateOpenCLBuffer(device,CL_MEM_COPY_HOST_PTR |
index 0d046dbdcb43aedd86c6e08a51130c56271efb7b..bcdc3ed74aaf736583da1e48f34e3049f08b4442 100644 (file)
@@ -3834,6 +3834,8 @@ MagickExport MagickBooleanType PersistPixelCache(Image *image,
     Clone persistent pixel cache.
   */
   clone_info=(CacheInfo *) ClonePixelCache(cache_info);
+  if (clone_info == (CacheInfo *) NULL)
+    return(MagickFalse);
   clone_info->type=DiskCache;
   (void) CopyMagickString(clone_info->cache_filename,filename,MagickPathExtent);
   clone_info->file=(-1);
index eacb64d511b6adbb7067be72f1cb55dac191ea9d..b4be8d14a10fb258fa1a035cbb30f0b46d59d9d4 100644 (file)
@@ -10669,6 +10669,8 @@ static MagickBooleanType XPasteImage(Display *display,
   if (resource_info->copy_image == (Image *) NULL)
     return(MagickFalse);
   paste_image=CloneImage(resource_info->copy_image,0,0,MagickTrue,exception);
+  if (paste_image == (Image *) NULL)
+    return(MagickFalse);
   /*
     Map Command widget.
   */
index e227f1e77a7171c7c51688afae8cbe0f0a4cc242..be2166905a8143f9603eb9827050dd8a876f26ed 100644 (file)
@@ -709,6 +709,8 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
         Copy this tile to the composite.
       */
       image=CloneImage(image_list[tile],0,0,MagickTrue,exception);
+      if (image == (Image *) NULL)
+        ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
       progress_monitor=SetImageProgressMonitor(image,
         (MagickProgressMonitor) NULL,image->client_data);
       width=concatenate != MagickFalse ? image->columns : extract_info.width;