summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2005-03-13 13:15:08 +0000
committerMarcus Boerger <helly@php.net>2005-03-13 13:15:08 +0000
commit565e832edfab3f39a3841fe83c2bc0f32f4497a4 (patch)
tree5628dcee4a3a9d28e3c747b00c9ad383c6d5fedb /Zend/zend_execute_API.c
parent83c13d22e9214867898f2dcaeee780aa99ed8812 (diff)
downloadphp-git-565e832edfab3f39a3841fe83c2bc0f32f4497a4.tar.gz
- Bugfix #32290
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 305d20dc17..e9fd83b25b 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -693,6 +693,14 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
}
EX(function_state).function =
Z_OBJ_HT_PP(fci->object_pp)->get_method(fci->object_pp, Z_STRVAL_P(fci->function_name), Z_STRLEN_P(fci->function_name) TSRMLS_CC);
+ if (EX(function_state).function && calling_scope != EX(function_state).function->common.scope) {
+ char *function_name_lc = zend_str_tolower_dup(Z_STRVAL_P(fci->function_name), Z_STRLEN_P(fci->function_name));
+ if (zend_hash_find(&calling_scope->function_table, function_name_lc, fci->function_name->value.str.len+1, (void **) &EX(function_state).function)==FAILURE) {
+ efree(function_name_lc);
+ zend_error(E_ERROR, "Object does not support parent class method calls");
+ }
+ efree(function_name_lc);
+ }
} else if (calling_scope) {
char *function_name_lc = zend_str_tolower_dup(Z_STRVAL_P(fci->function_name), Z_STRLEN_P(fci->function_name));