From: Andrei Zmievski Date: Tue, 7 Feb 2006 00:32:16 +0000 (+0000) Subject: Check for get_properties handler before using it. (Patch from X-Git-Tag: RELEASE_1_2~248 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef4c06c0837dda07cd346654ceac6e3be4eb5b22;p=php Check for get_properties handler before using it. (Patch from rrichards@ctindustries.net). --- diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 13fdc96e1d..95dc9efc35 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -814,11 +814,16 @@ ZEND_FUNCTION(get_object_vars) RETURN_FALSE; } + properties = Z_OBJ_HT_PP(obj)->get_properties(*obj TSRMLS_CC); + + if (properties == NULL) { + RETURN_FALSE; + } + instanceof = EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), Z_OBJCE_PP(obj) TSRMLS_CC); array_init(return_value); - properties = Z_OBJ_HT_PP(obj)->get_properties(*obj TSRMLS_CC); zend_hash_internal_pointer_reset_ex(properties, &pos); while (zend_hash_get_current_data_ex(properties, (void **) &value, &pos) == SUCCESS) {