summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-04-24 23:49:52 +0200
committerNikita Popov <nikic@php.net>2016-05-24 20:48:24 +0200
commit91f5940329fede8a26b64e99d4d6d858fe8654cc (patch)
treeb5874f30a7d0d3c4bec3503aeac4d5b097da9e43 /ext/standard/array.c
parent674297c7e41013c2c34d770051714518d0586271 (diff)
downloadphp-git-91f5940329fede8a26b64e99d4d6d858fe8654cc.tar.gz
Forbid dynamic calls to scope introspection functions
Per RFC: https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index d8ae982c85..7ee505601e 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1805,6 +1805,10 @@ PHP_FUNCTION(extract)
}
}
+ if (zend_forbid_dynamic_call("extract()") == FAILURE) {
+ return;
+ }
+
symbol_table = zend_rebuild_symbol_table();
#if 0
if (!symbol_table) {
@@ -1969,8 +1973,11 @@ PHP_FUNCTION(compact)
return;
}
- symbol_table = zend_rebuild_symbol_table();
+ if (zend_forbid_dynamic_call("compact()") == FAILURE) {
+ return;
+ }
+ symbol_table = zend_rebuild_symbol_table();
if (UNEXPECTED(symbol_table == NULL)) {
return;
}