LZWInfo
*lzw_info;
- Quantum
- index;
-
size_t
pass;
ssize_t
+ index,
offset,
y;
c=ReadBlobLZWByte(lzw_info);
if (c < 0)
break;
- index=ConstrainColormapIndex(image,(size_t) c,exception);
- SetPixelIndex(image,index,q);
- SetPixelViaPixelInfo(image,image->colormap+(ssize_t) index,q);
- SetPixelAlpha(image,(ssize_t) index == opacity ? TransparentAlpha :
- OpaqueAlpha,q);
+ index=ConstrainColormapIndex(image,(ssize_t) c,exception);
+ SetPixelIndex(image,(Quantum) index,q);
+ SetPixelViaPixelInfo(image,image->colormap+index,q);
+ SetPixelAlpha(image,index == opacity ? TransparentAlpha : OpaqueAlpha,q);
x++;
q+=GetPixelChannels(image);
}
if (global_colormap == (unsigned char *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
if (BitSet((int) flag,0x80) != 0)
- (void) ReadBlob(image,(size_t) (3*global_colors),global_colormap);
+ {
+ count=ReadBlob(image,(size_t) (3*global_colors),global_colormap);
+ if (count != (ssize_t) (3*global_colors))
+ {
+ global_colormap=(unsigned char *) RelinquishMagickMemory(
+ global_colormap);
+ ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
+ }
+ }
delay=0;
dispose=0;
duration=0;
number_extensionss++;
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" Reading GIF application extension");
- info=(unsigned char *) AcquireQuantumMemory(255UL,sizeof(*info));
+ info=(unsigned char *) AcquireQuantumMemory(255UL,
+ sizeof(*info));
if (info == (unsigned char *) NULL)
ThrowReaderException(ResourceLimitError,
"MemoryAllocationFailed");
Read image attributes.
*/
meta_image->scene=image->scene;
- CloneImageProperties(image,meta_image);
+ (void) CloneImageProperties(image,meta_image);
DestroyImageProperties(meta_image);
- CloneImageProfiles(image,meta_image);
+ (void) CloneImageProfiles(image,meta_image);
DestroyImageProfiles(meta_image);
image->storage_class=PseudoClass;
image->compression=LZWCompression;
image->transparent_color=image->colormap[opacity];
}
}
- image->background_color=image->colormap[MagickMin(background,
- image->colors-1)];
+ image->background_color=image->colormap[MagickMin((ssize_t) background,
+ (ssize_t) image->colors-1)];
}
else
{
attributes[MaxTextExtent];
ssize_t
- length;
+ count;
/*
Write ImageMagick extension.
(void) WriteBlobByte(image,(unsigned char) 0xff);
(void) WriteBlobByte(image,(unsigned char) 0x0b);
(void) WriteBlob(image,11,(unsigned char *) "ImageMagick");
- length=FormatLocaleString(attributes,MaxTextExtent,"gamma=%g",
+ count=FormatLocaleString(attributes,MaxTextExtent,"gamma=%g",
image->gamma);
- (void) WriteBlobByte(image,(unsigned char) length);
- (void) WriteBlob(image,length,(unsigned char *) attributes);
+ (void) WriteBlobByte(image,(unsigned char) count);
+ (void) WriteBlob(image,(size_t) count,(unsigned char *) attributes);
(void) WriteBlobByte(image,(unsigned char) 0x00);
}
ResetImageProfileIterator(image);
sizeof(extension));
(void) WriteBlob(image,11,(unsigned char *) extension);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Writing GIF Extension %s",name);
+ " Writing GIF Extension %s",name);
}
offset=0;
while ((ssize_t) length > offset)