From 8418c7e51974060a1c724e25d700d72fb437174b Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 18 May 2014 18:38:26 +0000 Subject: [PATCH] --- Magick++/lib/Image.cpp | 27 +++++++++++++++------------ Magick++/lib/Options.cpp | 2 +- MagickCore/animate.c | 3 ++- MagickCore/attribute.c | 6 ++++-- MagickCore/xml-tree.c | 6 ++++-- MagickCore/xwindow.c | 3 +-- coders/jnx.c | 2 ++ coders/jpeg.c | 21 ++++++++++++--------- coders/wpg.c | 7 ++++--- 9 files changed, 45 insertions(+), 32 deletions(-) diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 251c11849..5bb7d9fcb 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -2369,21 +2369,24 @@ void Magick::Image::colorMatrix(const size_t order_, GetPPException; kernel_info=AcquireKernelInfo((const char *) NULL); - kernel_info->width=order_; - kernel_info->height=order_; - kernel_info->values=(MagickRealType *) AcquireAlignedMemory(order_, - order_*sizeof(*kernel_info->values)); - if (kernel_info->values != (MagickRealType *) NULL) + if (kernel_info != (KernelInfo *) NULL) { - MagickCore::Image - *newImage; + kernel_info->width=order_; + kernel_info->height=order_; + kernel_info->values=(MagickRealType *) AcquireAlignedMemory(order_, + order_*sizeof(*kernel_info->values)); + if (kernel_info->values != (MagickRealType *) NULL) + { + MagickCore::Image + *newImage; - for (ssize_t i=0; i < (ssize_t) (order_*order_); i++) - kernel_info->values[i]=color_matrix_[i]; - newImage=ColorMatrixImage(image(),kernel_info,&exceptionInfo); - replaceImage(newImage); + for (ssize_t i=0; i < (ssize_t) (order_*order_); i++) + kernel_info->values[i]=color_matrix_[i]; + newImage=ColorMatrixImage(image(),kernel_info,&exceptionInfo); + replaceImage(newImage); + } + kernel_info=DestroyKernelInfo(kernel_info); } - kernel_info=DestroyKernelInfo(kernel_info); ThrowPPException; } diff --git a/Magick++/lib/Options.cpp b/Magick++/lib/Options.cpp index 4c262c11c..0243194fd 100644 --- a/Magick++/lib/Options.cpp +++ b/Magick++/lib/Options.cpp @@ -348,7 +348,7 @@ void Magick::Options::magick(const std::string &magick_) std::string Magick::Options::magick(void) const { - if (_imageInfo->magick && *_imageInfo->magick) + if (*_imageInfo->magick) return(std::string(_imageInfo->magick)); return(std::string()); diff --git a/MagickCore/animate.c b/MagickCore/animate.c index 9c48a79a3..457f65586 100644 --- a/MagickCore/animate.c +++ b/MagickCore/animate.c @@ -2832,7 +2832,8 @@ MagickExport Image *XAnimateImages(Display *display, Free X resources. */ if (windows->image.mapped != MagickFalse) - (void) XWithdrawWindow(display,windows->image.id,windows->image.screen); XDelay(display,SuspendTime); + (void) XWithdrawWindow(display,windows->image.id,windows->image.screen); + XDelay(display,SuspendTime); (void) XFreeStandardColormap(display,icon_visual,icon_map,icon_pixel); if (resource_info->map_type == (char *) NULL) (void) XFreeStandardColormap(display,visual_info,map_info,pixel); diff --git a/MagickCore/attribute.c b/MagickCore/attribute.c index 421cef003..8c4276800 100644 --- a/MagickCore/attribute.c +++ b/MagickCore/attribute.c @@ -164,11 +164,13 @@ MagickExport RectangleInfo GetImageBoundingBox(const Image *image, GetPixelInfo(image,&target[1]); p=GetCacheViewVirtualPixels(image_view,(ssize_t) image->columns-1,0,1,1, exception); - GetPixelInfoPixel(image,p,&target[1]); + if (p == (const Quantum *) NULL) + GetPixelInfoPixel(image,p,&target[1]); GetPixelInfo(image,&target[2]); p=GetCacheViewVirtualPixels(image_view,0,(ssize_t) image->rows-1,1,1, exception); - GetPixelInfoPixel(image,p,&target[2]); + if (p == (const Quantum *) NULL) + GetPixelInfoPixel(image,p,&target[2]); status=MagickTrue; GetPixelInfo(image,&zero); #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/MagickCore/xml-tree.c b/MagickCore/xml-tree.c index 2ba31dec6..e3c8a82ac 100644 --- a/MagickCore/xml-tree.c +++ b/MagickCore/xml-tree.c @@ -1519,7 +1519,8 @@ static char *ParseEntities(char *xml,char **entities,int state) xml=p+offset; entity=strchr(xml,';'); } - (void) CopyMagickMemory(xml+length,entity+1,strlen(entity)); + if (entity != (char *) NULL) + (void) CopyMagickMemory(xml+length,entity+1,strlen(entity)); (void) strncpy(xml,entities[i],length); } } @@ -1922,7 +1923,8 @@ static void ParseOpenTag(XMLTreeRoot *root,char *tag,char **attributes) xml_info->tag=ConstantString(tag); else xml_info=AddChildToXMLTree(xml_info,tag,strlen(xml_info->content)); - xml_info->attributes=attributes; + if (xml_info != (XMLTreeInfo *) NULL) + xml_info->attributes=attributes; root->node=xml_info; } diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c index 29a1907c5..4feaf830e 100644 --- a/MagickCore/xwindow.c +++ b/MagickCore/xwindow.c @@ -5098,8 +5098,7 @@ MagickExport Image *XImportImage(const ImageInfo *image_info, status=XGetWMName(display,target,&window_name); if (status == True) { - if ((image_info->filename != (char *) NULL) && - (*image_info->filename == '\0')) + if (*image_info->filename == '\0') (void) CopyMagickString(image->filename,(char *) window_name.value, (size_t) window_name.nitems+1); (void) XFree((void *) window_name.value); diff --git a/coders/jnx.c b/coders/jnx.c index 8f200688c..6eb8fce99 100644 --- a/coders/jnx.c +++ b/coders/jnx.c @@ -270,6 +270,8 @@ static Image *ReadJNXImage(const ImageInfo *image_info,ExceptionInfo *exception) if (tile_offset == -1) continue; restore_offset=TellBlob(image); + if (restore_offset < 0) + continue; offset=SeekBlob(image,(MagickOffsetType) tile_offset,SEEK_SET); if (offset != (MagickOffsetType) tile_offset) continue; diff --git a/coders/jpeg.c b/coders/jpeg.c index 80a16e00b..91b6f015e 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -1969,15 +1969,18 @@ static void WriteProfile(j_compress_ptr jpeg_info,Image *image) Add namespace to XMP profile. */ xmp_profile=StringToStringInfo("http://ns.adobe.com/xap/1.0/ "); - ConcatenateStringInfo(xmp_profile,profile); - GetStringInfoDatum(xmp_profile)[28]='\0'; - for (i=0; i < (ssize_t) GetStringInfoLength(xmp_profile); i+=65533L) - { - length=MagickMin(GetStringInfoLength(xmp_profile)-i,65533L); - jpeg_write_marker(jpeg_info,XML_MARKER, - GetStringInfoDatum(xmp_profile)+i,(unsigned int) length); - } - xmp_profile=DestroyStringInfo(xmp_profile); + if (xmp_profile != (StringINfo *) NULL) + { + ConcatenateStringInfo(xmp_profile,profile); + GetStringInfoDatum(xmp_profile)[28]='\0'; + for (i=0; i < (ssize_t) GetStringInfoLength(xmp_profile); i+=65533L) + { + length=MagickMin(GetStringInfoLength(xmp_profile)-i,65533L); + jpeg_write_marker(jpeg_info,XML_MARKER, + GetStringInfoDatum(xmp_profile)+i,(unsigned int) length); + } + xmp_profile=DestroyStringInfo(xmp_profile); + } } (void) LogMagickEvent(CoderEvent,GetMagickModule(), "%s profile: %.20g bytes",name,(double) GetStringInfoLength(profile)); diff --git a/coders/wpg.c b/coders/wpg.c index c9a4f3cbf..88110402b 100644 --- a/coders/wpg.c +++ b/coders/wpg.c @@ -541,6 +541,10 @@ RestoreMSCWarning \ /* WPG2 raster reader. */ static int UnpackWPG2Raster(Image *image,int bpp,ExceptionInfo *exception) { + int + RunCount, + XorMe = 0; + size_t x, y; @@ -548,15 +552,12 @@ static int UnpackWPG2Raster(Image *image,int bpp,ExceptionInfo *exception) ssize_t ldblk; - int XorMe = 0; - unsigned int SampleSize=1; unsigned char bbuf, *BImgBuff, - RunCount, SampleBuffer[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned int -- 2.40.0