From: Remi Collet Date: Wed, 12 Mar 2014 12:44:58 +0000 (+0100) Subject: Fixed Bug #66890 imagescale segfault X-Git-Tag: php-5.5.11RC1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dada2f550f7f805cb4e111c0e13cf1da98e711be;p=php Fixed Bug #66890 imagescale segfault zend_parse_parameters "l" expect long, not int --- diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 1058eaee5c..1b8366d58c 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -5102,12 +5102,16 @@ PHP_FUNCTION(imagescale) zval *IM; gdImagePtr im; gdImagePtr im_scaled; - int new_width, new_height = -1; - gdInterpolationMethod method = GD_BILINEAR_FIXED; + int new_width, new_height; + long tmp_w, tmp_h=-1, tmp_m = GD_BILINEAR_FIXED; + gdInterpolationMethod method; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|ll", &IM, &new_width, &new_height, &method) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|ll", &IM, &tmp_w, &tmp_h, &tmp_m) == FAILURE) { return; } + method = tmp_m; + new_width = tmp_w; + new_height = tmp_h; ZEND_FETCH_RESOURCE(im, gdImagePtr, &IM, -1, "Image", le_gd); im_scaled = gdImageScale(im, new_width, new_height);