You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GraphicsMagick/GraphicsMagick-CVE-2016-799...

64 lines
2.6 KiB

# HG changeset patch
# User fojtik
# Date 1475430071 -7200
# Sun Oct 02 19:41:11 2016 +0200
# Node ID 1cf5808339d9e7e6f10840311e82dc40b0cd8ec6
# Parent 2db735de2bea758981ea130abffc85aaf7893d73
* coders/wpg.c Correctly flip image->blob and rotated_image->blob.
diff --git a/coders/wpg.c b/coders/wpg.c
--- a/coders/wpg.c
+++ b/coders/wpg.c
@@ -935,6 +935,7 @@
unsigned char
*BImgBuff;
+ BlobInfo *TmpBlob;
tCTM CTM; /*current transform matrix*/
@@ -1133,8 +1134,9 @@
rotated_image = FlopImage(image, exception);
if (rotated_image != (Image *) NULL)
{
+ BlobInfo *TmpBlob = rotated_image->blob;
rotated_image->blob = image->blob;
- image->blob = NULL;
+ image->blob = TmpBlob;
(void) RemoveLastImageFromList(&image);
AppendImageToList(&image,rotated_image);
}
@@ -1145,8 +1147,9 @@
rotated_image = FlipImage(image, exception);
if (rotated_image != (Image *) NULL)
{
+ BlobInfo *TmpBlob = rotated_image->blob;
rotated_image->blob = image->blob;
- image->blob = NULL;
+ image->blob = TmpBlob;
(void) RemoveLastImageFromList(&image);
AppendImageToList(&image,rotated_image);
}
@@ -1160,8 +1163,9 @@
exception);
if (rotated_image != (Image *) NULL)
{
+ BlobInfo *TmpBlob = rotated_image->blob;
rotated_image->blob = image->blob;
- image->blob = NULL;
+ image->blob = TmpBlob;
(void) RemoveLastImageFromList(&image);
AppendImageToList(&image,rotated_image);
}
@@ -1316,8 +1320,9 @@
rotated_image = FlopImage(image, exception);
if (rotated_image != (Image *) NULL)
{
+ BlobInfo *TmpBlob = rotated_image->blob;
rotated_image->blob = image->blob;
- image->blob = NULL;
+ image->blob = TmpBlob;
(void) RemoveLastImageFromList(&image);
AppendImageToList(&image,rotated_image);
}