From 18a9ae412f00cc1e312c296952fac24f16b4d4de Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 29 Apr 2019 17:23:16 +0200 Subject: [PATCH] Fix #77943: imageantialias($image, false); does not work Firstly, we must not call `gdImageSetAntiAliased()` (which sets the color to anti-alias), but rather modify the `gdImage.AA` flag. Furthermore, we have to actually use the supplied boolean value. We also make sure that we don't attempt to enable anti-aliasing for palette images. --- NEWS | 3 +++ ext/gd/gd.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 3024c268ef..3a8ba47533 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ PHP NEWS - FPM: . Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot) +- GD: + . Fixed bug #77943 (imageantialias($image, false); does not work). (cmb) + - JSON: . Fixed bug #77843 (Use after free with json serializer). (Nikita) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 50d4745371..231fcac381 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -4699,7 +4699,11 @@ PHP_FUNCTION(imageantialias) if ((im = (gdImagePtr)zend_fetch_resource(Z_RES_P(IM), "Image", le_gd)) == NULL) { RETURN_FALSE; } - gdImageSetAntiAliased(im, 0); + + if (im->trueColor) { + im->AA = alias; + } + RETURN_TRUE; } /* }}} */ -- 2.50.1