From: root <356986351@qq.com> Date: Fri, 29 Sep 2017 05:41:10 +0000 (+0000) Subject: fix multiple null pointer X-Git-Tag: 7.0.7-5~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1dc5558bb598093a9e9d1007fbd24f353e21ca4b;p=imagemagick fix multiple null pointer --- diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c index ce8cc2fca..d1cfeab8b 100644 --- a/MagickCore/accelerate.c +++ b/MagickCore/accelerate.c @@ -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 | diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 0d046dbdc..bcdc3ed74 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -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); diff --git a/MagickCore/display.c b/MagickCore/display.c index eacb64d51..b4be8d14a 100644 --- a/MagickCore/display.c +++ b/MagickCore/display.c @@ -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. */ diff --git a/MagickCore/montage.c b/MagickCore/montage.c index e227f1e77..be2166905 100644 --- a/MagickCore/montage.c +++ b/MagickCore/montage.c @@ -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;