summaryrefslogtreecommitdiffstats
path: root/system/core/Common.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/core/Common.php')
-rw-r--r--system/core/Common.php17
1 files changed, 11 insertions, 6 deletions
diff --git a/system/core/Common.php b/system/core/Common.php
index 7feb16bfd..c7ab387a3 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -681,17 +681,22 @@ if ( ! function_exists('function_usable'))
{
if ( ! isset($_suhosin_func_blacklist))
{
- $_suhosin_func_blacklist = extension_loaded('suhosin')
- ? array()
- : explode(',', trim(@ini_get('suhosin.executor.func.blacklist')));
+ if (extension_loaded('suhosin'))
+ {
+ $_suhosin_func_blacklist = explode(',', trim(@ini_get('suhosin.executor.func.blacklist')));
- if ( ! in_array('eval', $_suhosin_func_blacklist, TRUE) && @ini_get('suhosin.executor.disable_eval'))
+ if ( ! in_array('eval', $_suhosin_func_blacklist, TRUE) && @ini_get('suhosin.executor.disable_eval'))
+ {
+ $_suhosin_func_blacklist[] = 'eval';
+ }
+ }
+ else
{
- $_suhosin_func_blacklist[] = 'eval';
+ $_suhosin_func_blacklist = array();
}
}
- return in_array($function_name, $_suhosin_func_blacklist, TRUE);
+ return ! in_array($function_name, $_suhosin_func_blacklist, TRUE);
}
return FALSE;