diff options
Diffstat (limited to 'ext/session/session.c')
| -rw-r--r-- | ext/session/session.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index a6a7e90431..a4b8880672 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -151,7 +151,15 @@ static PHP_INI_MH(OnUpdateSaveDir) { /* Only do the safemode/open_basedir check at runtime */ if (stage == PHP_INI_STAGE_RUNTIME) { - if (php_check_open_basedir(new_value TSRMLS_CC)) { + char *p; + + if ((p = zend_memrchr(new_value, ';', new_value_length))) { + p++; + } else { + p = new_value; + } + + if (php_check_open_basedir(p TSRMLS_CC)) { return FAILURE; } } |
