From: Kalle Sommer Nielsen Date: Mon, 13 Sep 2010 20:14:18 +0000 (+0000) Subject: Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before... X-Git-Tag: php-5.4.0alpha1~191^2~959 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67b4af3e6a81ba5bedcbe3e0f7a04a340cd9b60b;p=php Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before calling it) --- diff --git a/ext/standard/var.c b/ext/standard/var.c index 3e3b8eb163..48981f0b39 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -133,9 +133,13 @@ PHPAPI void php_var_dump(zval **struc, int level TSRMLS_DC) /* {{{ */ return; } - Z_OBJ_HANDLER(**struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC); - php_printf("%sobject(%s)#%d (%d) {\n", COMMON, class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0); - efree(class_name); + if (Z_OBJ_HANDLER(**struc, get_class_name) { + Z_OBJ_HANDLER(**struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC); + php_printf("%sobject(%s)#%d (%d) {\n", COMMON, class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0); + efree(class_name); + } else { + php_printf("%sobject(unknown class)#%d (%d) {\n", COMMON, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0); + } php_element_dump_func = php_object_property_dump; head_done: if (myht) {