]> granicus.if.org Git - php/commitdiff
Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before...
authorKalle Sommer Nielsen <kalle@php.net>
Mon, 13 Sep 2010 20:14:18 +0000 (20:14 +0000)
committerKalle Sommer Nielsen <kalle@php.net>
Mon, 13 Sep 2010 20:14:18 +0000 (20:14 +0000)
NEWS
ext/standard/var.c

diff --git a/NEWS b/NEWS
index b989414398a79923a888a1b482fd696de0f5520c..7923f296480bef0049842c3bd749af7a78e2f0ab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,8 @@
 
 - Fixed bug #52786 (PHP should reset section to [PHP] after ini sections).
   (Fedora at famillecollet dot com)
+- Fixed bug #52772 (var_dump() doesn't check for the existence of 
+  get_class_name before calling it). (Kalle, Gustavo)
 - Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE).
   (gpap at internet dot gr, Adam)
 - Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
index 87493fd62b0b918566d8e6ee2bd8701d04e9e40e..e2e1f1a0fb038623b284bc1ff6c48b4049f6c1b1 100644 (file)
@@ -284,9 +284,13 @@ PHPAPI void php_debug_zval_dump(zval **struc, int level TSRMLS_DC) /* {{{ */
                        return;
                }
                ce = Z_OBJCE_PP(struc);
-               Z_OBJ_HANDLER_PP(struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC);
-               php_printf("%sobject(%s)#%d (%d) refcount(%u){\n", COMMON, class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0, Z_REFCOUNT_PP(struc));
-               efree(class_name);
+               if (Z_OBJ_HANDLER_PP(struc, get_class_name)) {
+                       Z_OBJ_HANDLER_PP(struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC);
+                       php_printf("%sobject(%s)#%d (%d) refcount(%u){\n", COMMON, class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0, Z_REFCOUNT_PP(struc));
+                       efree(class_name);
+               } else {
+                       php_printf("%sobject(unknown class)#%d (%d) refcount(%u){\n", COMMON, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0, Z_REFCOUNT_PP(struc));
+               }
                zval_element_dump_func = zval_object_property_dump;
 head_done:
                if (myht) {