*/
image_statistics=GetImageStatistics(image,exception);
reconstruct_statistics=GetImageStatistics(reconstruct_image,exception);
+ if ((image_statistics == (ChannelStatistics *) NULL) ||
+ (reconstruct_statistics == (ChannelStatistics *) NULL))
+ {
+ if (image_statistics != (ChannelStatistics *) NULL)
+ image_statistics=(ChannelStatistics *) RelinquishMagickMemory(
+ image_statistics);
+ if (reconstruct_statistics != (ChannelStatistics *) NULL)
+ reconstruct_statistics=(ChannelStatistics *) RelinquishMagickMemory(
+ reconstruct_statistics);
+ return(MagickFalse);
+ }
status=MagickTrue;
progress=0;
for (i=0; i <= MaxPixelChannels; i++)
ChannelStatistics
*channel_statistics;
- MagickStatusType
- status;
-
register ssize_t
i;
if (limit != (const char *) NULL)
max_locations=StringToUnsignedLong(limit);
channel_statistics=GetLocationStatistics(image,type,exception);
+ if (channel_statistics == (ChannelStatistics *) NULL)
+ return(MagickFalse);
colorspace=image->colorspace;
if (IsImageGray(image,exception) != MagickFalse)
colorspace=GRAYColorspace;
depth;
channel_statistics=GetImageStatistics(image,exception);
+ if (channel_statistics == (ChannelStatistics *) NULL)
+ return(MagickFalse);
artifact=GetImageArtifact(image,"identify:features");
if (artifact != (const char *) NULL)
{
channel_statistics=(ChannelStatistics *) AcquireQuantumMemory(
MaxPixelChannels+1,sizeof(*channel_statistics));
if (channel_statistics == (ChannelStatistics *) NULL)
- ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
+ return(MagickFalse);
(void) ResetMagickMemory(channel_statistics,0,(MaxPixelChannels+1)*
sizeof(*channel_statistics));
for (i=0; i <= (ssize_t) MaxPixelChannels; i++)
channel_statistics[i].mean)*(standard_deviation*standard_deviation*
standard_deviation*standard_deviation)-3.0;
}
+ if (y < (ssize_t) image->rows)
+ channel_statistics=(ChannelStatistics *) RelinquishMagickMemory(
+ channel_statistics);
return(channel_statistics);
}
\f