summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-07-25 08:23:07 +0000
committerDmitry Stogov <dmitry@php.net>2008-07-25 08:23:07 +0000
commit691d4a6999a9392505c4204bb0ad5c877fb80084 (patch)
tree400a08953f9ec8be3b003a3176e3ee567e8c1d19 /ext/reflection/php_reflection.c
parent7b0f90e0c8ee620b29bb4c8f98e32e1738d72993 (diff)
downloadphp-git-691d4a6999a9392505c4204bb0ad5c877fb80084.tar.gz
Fixed uninitialised data
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 c746d7e5bc..4a30b921b8 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -1235,6 +1235,7 @@ static void _reflection_export(INTERNAL_FUNCTION_PARAMETERS, zend_class_entry *c
fcc.initialized = 1;
fcc.function_handler = ce_ptr->constructor;
fcc.calling_scope = ce_ptr;
+ fcc.called_scope = Z_OBJCE_P(reflection_ptr);
fcc.object_pp = &reflector_ptr;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
@@ -1609,6 +1610,7 @@ ZEND_METHOD(reflection_function, invoke)
fcc.initialized = 1;
fcc.function_handler = fptr;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = NULL;
fcc.object_pp = NULL;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
@@ -1673,6 +1675,7 @@ ZEND_METHOD(reflection_function, invokeArgs)
fcc.initialized = 1;
fcc.function_handler = fptr;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = NULL;
fcc.object_pp = NULL;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
@@ -2413,6 +2416,7 @@ ZEND_METHOD(reflection_method, invoke)
fcc.initialized = 1;
fcc.function_handler = mptr;
fcc.calling_scope = obj_ce;
+ fcc.called_scope = Z_OBJCE_PP(object_pp);
fcc.object_pp = object_pp;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
@@ -2519,6 +2523,7 @@ ZEND_METHOD(reflection_method, invokeArgs)
fcc.initialized = 1;
fcc.function_handler = mptr;
fcc.calling_scope = obj_ce;
+ fcc.called_scope = Z_OBJCE_P(object);
fcc.object_pp = &object;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
@@ -3548,6 +3553,7 @@ ZEND_METHOD(reflection_class, newInstance)
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
@@ -3627,6 +3633,7 @@ ZEND_METHOD(reflection_class, newInstanceArgs)
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {