Blame tests/jpeg/jpeg_ptr_double_free.c
|
Packit Service |
176cb2 |
/**
|
|
Packit Service |
176cb2 |
* Test that failure to convert to JPEG returns NULL
|
|
Packit Service |
176cb2 |
*
|
|
Packit Service |
176cb2 |
* We are creating an image, set its width to zero, and pass this image to
|
|
Packit Service |
176cb2 |
* `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL.
|
|
Packit Service |
176cb2 |
*
|
|
Packit Service |
176cb2 |
* See also <https://github.com/libgd/libgd/issues/381>
|
|
Packit Service |
176cb2 |
*/
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
#include "gd.h"
|
|
Packit Service |
176cb2 |
#include "gdtest.h"
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
int main()
|
|
Packit Service |
176cb2 |
{
|
|
Packit Service |
176cb2 |
gdImagePtr src, dst;
|
|
Packit Service |
176cb2 |
int size;
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
src = gdImageCreateTrueColor(1, 10);
|
|
Packit Service |
176cb2 |
gdTestAssert(src != NULL);
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
dst = gdImageJpegPtr(src, &size, 0);
|
|
Packit Service |
176cb2 |
gdTestAssert(dst == NULL);
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
gdImageDestroy(src);
|
|
Packit Service |
176cb2 |
|
|
Packit Service |
176cb2 |
return gdNumFailures();
|
|
Packit Service |
176cb2 |
}
|