summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2017-09-02 00:04:02 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2017-09-02 00:04:02 +0200
commite20a6b0213e108da50293d1fff885f507e6115ac (patch)
tree31982c950c23f48862c8570f0bcb2a464079301e
parenta86df6bcb0bca601fa0178d6231daf9eb6b62505 (diff)
downloadphp-git-e20a6b0213e108da50293d1fff885f507e6115ac.tar.gz
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.
-rw-r--r--NEWS1
-rw-r--r--ext/gd/libgd/gd_interpolation.c4
2 files changed, 3 insertions, 2 deletions
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;