]> granicus.if.org Git - php/commitdiff
Check for get_properties handler before using it. (Patch from
authorAndrei Zmievski <andrei@php.net>
Tue, 7 Feb 2006 00:32:16 +0000 (00:32 +0000)
committerAndrei Zmievski <andrei@php.net>
Tue, 7 Feb 2006 00:32:16 +0000 (00:32 +0000)
rrichards@ctindustries.net).

Zend/zend_builtin_functions.c

index 13fdc96e1d21dc5bf37264298ebc3b52ae036f05..95dc9efc35282191843bdba04b46210d171b0476 100644 (file)
@@ -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) {