From: Christoph M. Becker Date: Fri, 1 Sep 2017 22:04:02 +0000 (+0200) Subject: Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?) X-Git-Tag: php-7.1.10RC1~15^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e20a6b0213e108da50293d1fff885f507e6115ac;p=php Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?) We back-port https://github.com/libgd/libgd/commit/dd48286 even though we cannot come up with a regression test, because the erroneous condition appears to be impossible to trigger. We also parenthesize the inner ternary operation to avoid confusion. --- diff --git a/NEWS b/NEWS index bd93282df5..09b0307aba 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ PHP NEWS - GD: . Fixed bug #75124 (gdImageGrayScale() may produce colors). (cmb) + . Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?). (cmb) - Intl: . Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 1c151b5509..4446ec772b 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -1783,8 +1783,8 @@ gdImagePtr gdImageRotateGeneric(gdImagePtr src, const float degrees, const int b const gdFixed f_slop_y = f_sin; const gdFixed f_slop_x = f_cos; - const gdFixed f_slop = f_slop_x > 0 && f_slop_x > 0 ? - f_slop_x > f_slop_y ? gd_divfx(f_slop_y, f_slop_x) : gd_divfx(f_slop_x, f_slop_y) + const gdFixed f_slop = f_slop_x > 0 && f_slop_y > 0 ? + (f_slop_x > f_slop_y ? gd_divfx(f_slop_y, f_slop_x) : gd_divfx(f_slop_x, f_slop_y)) : 0;