diff options
Diffstat (limited to 'ext/standard/assert.c')
-rw-r--r-- | ext/standard/assert.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/standard/assert.c b/ext/standard/assert.c index 109ba3ba22..016c90e02e 100644 --- a/ext/standard/assert.c +++ b/ext/standard/assert.c @@ -164,7 +164,10 @@ PHP_FUNCTION(assert) if (Z_TYPE_P(assertion) == IS_STRING) { zval retval; int old_error_reporting = 0; /* shut up gcc! */ - zend_class_entry *orig_scope = EG(scope); + + if (zend_forbid_dynamic_call("assert() with string argument") == FAILURE) { + RETURN_FALSE; + } myeval = Z_STRVAL_P(assertion); @@ -194,8 +197,6 @@ PHP_FUNCTION(assert) EG(error_reporting) = old_error_reporting; } - EG(scope) = orig_scope; - convert_to_boolean(&retval); val = Z_TYPE(retval) == IS_TRUE; } else { |