summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index b5ea8386c5..28184e1cc6 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -3832,6 +3832,13 @@ static int _adddynproperty(zval **pptr TSRMLS_DC, int num_args, va_list args, ze
zend_class_entry *ce = *va_arg(args, zend_class_entry**);
zval *retval = va_arg(args, zval*), member;
+ /* under some circumstances, the properties hash table may contain numeric
+ * properties (e.g. when casting from array). This is a WONT FIX bug, at
+ * least for the moment. Ignore these */
+ if (hash_key->nKeyLength == 0) {
+ return 0;
+ }
+
if (hash_key->arKey[0] == '\0') {
return 0; /* non public cannot be dynamic */
}