MagickBooleanType
proceed;
+ MagickSizeType
+ length,
+ number_points;
+
MagickStatusType
status;
size_t
extent,
- length,
- number_points,
number_stops;
ssize_t
number_points<<=1;
primitive_info=(PrimitiveInfo *) ResizeQuantumMemory(primitive_info,
(size_t) number_points,sizeof(*primitive_info));
- if (primitive_info == (PrimitiveInfo *) NULL)
+ if ((primitive_info == (PrimitiveInfo *) NULL) ||
+ (number_points != (MagickSizeType) ((size_t) number_points)))
{
(void) ThrowMagickException(exception,GetMagickModule(),
ResourceLimitError,"MemoryAllocationFailed","`%s'",image->filename);
default:
break;
}
- if ((size_t) (i+length) >= number_points)
+ if ((i+length) >= number_points)
{
/*
Resize based on speculative points required by primitive.
number_points+=length+1;
primitive_info=(PrimitiveInfo *) ResizeQuantumMemory(primitive_info,
(size_t) number_points,sizeof(*primitive_info));
- if (primitive_info == (PrimitiveInfo *) NULL)
+ if ((primitive_info == (PrimitiveInfo *) NULL) ||
+ (number_points != (MagickSizeType) ((size_t) number_points)))
{
(void) ThrowMagickException(exception,GetMagickModule(),
ResourceLimitError,"MemoryAllocationFailed","`%s'",