diff options
author | Pierre Joye <pierre.php@gmail.com> | 2022-02-01 22:25:03 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-01 22:25:03 +0700 |
commit | 95c6185b3751a7b3d73093e1d9b67bb00a577cd2 (patch) | |
tree | a00634befbba1b04a64ec80a7071cb9ab318404e /tests/gdimagecolorclosest/gdimagecolorclosest.c | |
parent | 910924ffd78fd9ae13e27e2136316f8e49f4fcb1 (diff) | |
download | libgd-95c6185b3751a7b3d73093e1d9b67bb00a577cd2.tar.gz |
Bug/818 (#821)
* Partial #818, unused arg
* Partial #818, init var
* partail #818, fix va_args usage
* partail #818, handle f* calls and avoid possible call to malloc with negative values
* partail #818, prevent double free
* partail #818, resource leak if test fail
* partail #818, null deref fix
* partail #818, avoid double free on fp failure
* Partial #818, fix error msg
* Partial #818, leak on error
* Partial #818, null deref
* Partial #818, avoid possible negative index on failure
* partial #818, does not free if we return if requested new size overflow
* partial #818, avoid double free, free where the alloc happened
* partial #818, fix assert logic and test exp_size for <=0
* partial #818, fix assert logic for color idx test
* partial #818, new case for possible leak, improve logic
* partial #818, fix assert logic for color idx test
Diffstat (limited to 'tests/gdimagecolorclosest/gdimagecolorclosest.c')
-rw-r--r-- | tests/gdimagecolorclosest/gdimagecolorclosest.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/gdimagecolorclosest/gdimagecolorclosest.c b/tests/gdimagecolorclosest/gdimagecolorclosest.c index 4754a2c..f6fd742 100644 --- a/tests/gdimagecolorclosest/gdimagecolorclosest.c +++ b/tests/gdimagecolorclosest/gdimagecolorclosest.c @@ -26,7 +26,13 @@ int main() im = gdImageCreate(5, 5); c = gdImageColorAllocate(im, 255, 0, 255); c = gdImageColorClosest(im, 255, 0, 255); - c = gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0); + c = gdTestAssert(c>=0) ? + gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0) + : + -1; + + + gdImageDestroy(im); if (gdTestAssert(c==0xFF00FF) != 1) { error = -1; @@ -38,7 +44,10 @@ int main() c = gdImageColorAllocate(im, 255, 0, 0); } c = gdImageColorClosest(im, 255, 0, 0); - c = gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0); + c = gdTestAssert(c>=0) ? + gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0) + : + -1; gdImageDestroy(im); if (gdTestAssert(c==0xFF0000) != 1) { error = -1; @@ -49,7 +58,10 @@ int main() c = gdImageColorAllocate(im, 255, 0, 0); } c = gdImageColorClosest(im, 255, 0, 0); - c = gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0); + c = gdTestAssert(c>=0) ? + gdTrueColorAlpha(gdImageRed(im, c), gdImageGreen(im, c), gdImageBlue(im, c), 0) + : + -1; gdImageDestroy(im); if (gdTestAssert(c==0xFF0000) != 1) { error = -1; |