summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2022-02-01 10:33:56 +0700
committerPierre Joye <pierre.php@gmail.com>2022-02-01 10:33:56 +0700
commitabd11b328d5eace22ee51f43bd2cd252fefe4b5c (patch)
treeedc194425ac9b1732c23503a3d91a5e04e29adb7
parentced4688de8391212d2f6d25957366621c735622e (diff)
downloadlibgd-abd11b328d5eace22ee51f43bd2cd252fefe4b5c.tar.gz
partail #818, prevent double free
-rw-r--r--tests/gdtest/gdtest.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/gdtest/gdtest.c b/tests/gdtest/gdtest.c
index 247ffea..70285b3 100644
--- a/tests/gdtest/gdtest.c
+++ b/tests/gdtest/gdtest.c
@@ -612,6 +612,7 @@ int gdTestImageCompareToImage(const char* file, unsigned int line, const char* m
}
surface_diff = gdImageCreateTrueColor(width_a, height_a);
+ if (surface_diff == NULL) goto fail;
gdTestImageDiff(expected, actual, surface_diff, &result);
if (result.pixels_changed>0) {
@@ -642,7 +643,7 @@ int gdTestImageCompareToImage(const char* file, unsigned int line, const char* m
gdImagePng(surface_diff,fp);
fclose(fp);
gdImageDestroy(surface_diff);
-
+ surface_diff = NULL;
fp = fopen(file_out, "wb");
if (!fp) goto fail;
gdImagePng(actual, fp);
@@ -651,6 +652,7 @@ int gdTestImageCompareToImage(const char* file, unsigned int line, const char* m
} else {
if (surface_diff) {
gdImageDestroy(surface_diff);
+ surface_diff = NULL;
}
return 1;
}