diff options
author | Pierre Joye <pierre.php@gmail.com> | 2022-02-01 10:33:56 +0700 |
---|---|---|
committer | Pierre Joye <pierre.php@gmail.com> | 2022-02-01 10:33:56 +0700 |
commit | abd11b328d5eace22ee51f43bd2cd252fefe4b5c (patch) | |
tree | edc194425ac9b1732c23503a3d91a5e04e29adb7 | |
parent | ced4688de8391212d2f6d25957366621c735622e (diff) | |
download | libgd-abd11b328d5eace22ee51f43bd2cd252fefe4b5c.tar.gz |
partail #818, prevent double free
-rw-r--r-- | tests/gdtest/gdtest.c | 4 |
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; } |