diff options
| -rw-r--r-- | ext/gd/gd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c index df0a32f1ab..0fce8ddcdf 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -5363,10 +5363,14 @@ PHP_FUNCTION(imageaffinematrixget) RETURN_FALSE; } if(Z_TYPE_P(options) != IS_DOUBLE) { - Z_ADDREF_P(options); - convert_to_double_ex(&options); + zval dval; + dval = *options; + zval_copy_ctor(&dval); + convert_to_double(&dval); + angle = Z_DVAL(dval); + } else { + angle = Z_DVAL_P(options); } - angle = Z_DVAL_P(options); if (type == GD_AFFINE_SHEAR_HORIZONTAL) { res = gdAffineShearHorizontal(affine, angle); |
