summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-08-24 22:45:59 +0000
committerMarcus Boerger <helly@php.net>2003-08-24 22:45:59 +0000
commitf9cebab0cb08cb7b14653f75a8f7c0e2c92be03e (patch)
tree6d450195c4439ee630460d91508147a39fb4038e
parent7fe12aaa179044798f196e8f16160974fe33b432 (diff)
downloadphp-git-f9cebab0cb08cb7b14653f75a8f7c0e2c92be03e.tar.gz
Add missing check
-rw-r--r--Zend/zend_API.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 2c111e4e50..ccfb51fce5 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1629,15 +1629,17 @@ ZEND_API int zend_declare_property(zend_class_entry *ce, char *name, int name_le
} else {
target_symbol_table = &ce->default_properties;
}
- switch(Z_TYPE_P(property)) {
- case IS_ARRAY:
- case IS_CONSTANT_ARRAY:
- case IS_OBJECT:
- case IS_RESOURCE:
- zend_error(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources");
- break;
- default:
- break;
+ if (ce->type & ZEND_INTERNAL_CLASS) {
+ switch(Z_TYPE_P(property)) {
+ case IS_ARRAY:
+ case IS_CONSTANT_ARRAY:
+ case IS_OBJECT:
+ case IS_RESOURCE:
+ zend_error(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources");
+ break;
+ default:
+ break;
+ }
}
switch (access_type & ZEND_ACC_PPP_MASK) {
case ZEND_ACC_PRIVATE: {