summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/tests/avif/avif_ptr_double_free.c
blob: 8160950d63e915298d51243fb94aa7c4f60220ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * Test that failure to convert to AVIF returns NULL
 *
 * We are creating an image, set its width to zero, and pass this image to
 * gdImageAvifPtr().
 * This is supposed to fail, and as such should return NULL.
 *
 * See also <https://github.com/libgd/libgd/issues/381>
 */

#include "gd.h"
#include "gdtest.h"

int main()
{
	gdImagePtr src, dst;
	int size;

	src = gdImageCreateTrueColor(1, 10);
	gdTestAssert(src != NULL);

	src->sx = 0;  // making the width 0 should cause gdImageAvifPtr() to fail

	dst = gdImageAvifPtr(src, &size);
	gdTestAssert(dst == NULL);

	if (src)
		gdImageDestroy(src);

	if (dst)
		gdImageDestroy(dst);

	return gdNumFailures();
}