* #797 possible leak on png error, returns from setjmp lost the row_pointers ref somehow * skip that one using mingw until we have a reliable portable FP related tests suites (may never happpen)
This commit is contained in:
parent
3f872fc931
commit
0956816bc6
@ -1079,11 +1079,12 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
|
||||
}
|
||||
|
||||
png_write_image (png_ptr, row_pointers);
|
||||
png_write_end (png_ptr, info_ptr);
|
||||
|
||||
for (j = 0; j < height; ++j)
|
||||
gdFree (row_pointers[j]);
|
||||
gdFree (row_pointers);
|
||||
|
||||
png_write_end (png_ptr, info_ptr);
|
||||
} else {
|
||||
png_write_image (png_ptr, im->pixels);
|
||||
png_write_end (png_ptr, info_ptr);
|
||||
|
@ -6,6 +6,7 @@ LIST(APPEND TESTS_FILES
|
||||
bug00309
|
||||
bug00354
|
||||
bug00383
|
||||
bug797
|
||||
createimagefromgd2part
|
||||
createimagefromgd2partptr
|
||||
gd2_empty_file
|
||||
|
32
tests/gd2/bug797.c
Normal file
32
tests/gd2/bug797.c
Normal file
@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Test that invalid transparent colors can't be read
|
||||
*
|
||||
* We're reading a corrupt palette image in GD2 format, which has only a single
|
||||
* palette entry, but claims that the transparent color would be 1. We check
|
||||
* that the transparency is simply ignored in this case.
|
||||
*
|
||||
* See also <https://github.com/libgd/libgd/issues/383>
|
||||
*/
|
||||
|
||||
|
||||
#include "gd.h"
|
||||
#include "gdtest.h"
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
gdImagePtr im;
|
||||
FILE *fp;
|
||||
|
||||
fp = gdTestFileOpen2("gd2", "bug797.gd2");
|
||||
gdTestAssert(fp != NULL);
|
||||
im = gdImageCreateFromGd2(fp);
|
||||
gdTestAssert(im != NULL);
|
||||
fclose(fp);
|
||||
|
||||
gdTestAssert(gdImageGetTransparent(im) == -1);
|
||||
|
||||
gdImageDestroy(im);
|
||||
|
||||
return gdNumFailures();
|
||||
}
|
BIN
tests/gd2/bug797.gd2
Normal file
BIN
tests/gd2/bug797.gd2
Normal file
Binary file not shown.
@ -1,8 +1,14 @@
|
||||
IF(FREETYPE_FOUND)
|
||||
LIST(APPEND TESTS_FILES
|
||||
bug00615
|
||||
)
|
||||
|
||||
IF (NOT MINGW)
|
||||
LIST(APPEND TESTS_FILES
|
||||
gdimagestringft_bbox
|
||||
)
|
||||
ENDIF(NOT MINGW)
|
||||
|
||||
ENDIF(FREETYPE_FOUND)
|
||||
|
||||
ADD_GD_TESTS()
|
||||
|
Loading…
x
Reference in New Issue
Block a user