From: Felipe Pena Date: Tue, 22 Nov 2011 12:47:08 +0000 (+0000) Subject: - Fixed invalid free in call_user_method() function X-Git-Tag: php-5.3.9RC2~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4fffb5f5e0f713089c3f49a457caaef126032403;p=php - Fixed invalid free in call_user_method() function --- diff --git a/NEWS b/NEWS index 46a1f66269..784a8f7589 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ PHP NEWS (klightspeed at netspace dot net dot au) . Fixed bug #52624 (tempnam() by-pass open_basedir with nonnexistent directory). (Felipe) + . Fixed invalid free in call_user_method() function. (Felipe) - Zend Engine: . Fixed bug #43200 (Interface implementation / inheritence not possible in diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 58e36c3cff..ba8b121f1e 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -4825,7 +4825,9 @@ PHP_FUNCTION(call_user_method) Z_TYPE_P(object) != IS_STRING ) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Second argument is not an object or class name"); - efree(params); + if (params) { + efree(params); + } RETURN_FALSE; } diff --git a/ext/standard/tests/general_functions/call_user_method_002.phpt b/ext/standard/tests/general_functions/call_user_method_002.phpt new file mode 100644 index 0000000000..054bc3edeb --- /dev/null +++ b/ext/standard/tests/general_functions/call_user_method_002.phpt @@ -0,0 +1,12 @@ +--TEST-- +call_user_method() Invalid free +--FILE-- + +--EXPECTF-- +Deprecated: Function call_user_method() is deprecated in %s on line %d + +Warning: call_user_method(): Second argument is not an object or class name in %s on line %d