diff --git a/ChangeLog b/ChangeLog index e82f2d3dc..140698907 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-03-18 Fred Kiefer + + * Source/NSBitmapImageRep+JPEG.m: Put cinfo into a defined state + before using it. + Patch by Vincent Richomme . + 2010-03-17 Fred Kiefer * Source/NSTextView.m (-readSelectionFromPasteboard:type:): Fix diff --git a/Source/NSBitmapImageRep+JPEG.m b/Source/NSBitmapImageRep+JPEG.m index 7297cb049..cef3e4d7c 100644 --- a/Source/NSBitmapImageRep+JPEG.m +++ b/Source/NSBitmapImageRep+JPEG.m @@ -350,6 +350,8 @@ static void gs_jpeg_memory_dest_destroy (j_compress_ptr cinfo) struct jpeg_decompress_struct cinfo; struct gs_jpeg_error_mgr jerrMgr; + memset((void*)&cinfo, 0, sizeof(struct jpeg_decompress_struct)); + /* Be sure imageData contains data */ if (![imageData length]) { @@ -400,6 +402,8 @@ static void gs_jpeg_memory_dest_destroy (j_compress_ptr cinfo) if (!(self = [super init])) return nil; + memset((void*)&cinfo, 0, sizeof(struct jpeg_decompress_struct)); + /* Establish the our custom error handler */ gs_jpeg_error_mgr_init(&jerrMgr); cinfo.err = jpeg_std_error(&jerrMgr.parent); @@ -549,6 +553,8 @@ static void gs_jpeg_memory_dest_destroy (j_compress_ptr cinfo) return nil; } + memset((void*)&cinfo, 0, sizeof(struct jpeg_decompress_struct)); + imageSource = [self bitmapData]; sPP = [self samplesPerPixel]; width = [self size].width;