summaryrefslogtreecommitdiff
path: root/main/safe_mode.c
diff options
context:
space:
mode:
authorJames E. Flemer <jflemer@php.net>2002-03-03 20:49:04 +0000
committerJames E. Flemer <jflemer@php.net>2002-03-03 20:49:04 +0000
commitecac9a7e9ecb1070d51bbcd9ba2f9e65a5c2cac1 (patch)
tree8942c1482d4b85bb73bdca5a2a6a7b8df1e82abf /main/safe_mode.c
parent787ce372b9b98727f05347ac4933960edc9761e2 (diff)
downloadphp-git-ecac9a7e9ecb1070d51bbcd9ba2f9e65a5c2cac1.tar.gz
(php_checkuid) Added case for root directory when mode is
CHECKUID_ALLOW_ONLY_DIR.
Diffstat (limited to 'main/safe_mode.c')
-rw-r--r--main/safe_mode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/main/safe_mode.c b/main/safe_mode.c
index b017dd0258..eb942de2c8 100644
--- a/main/safe_mode.c
+++ b/main/safe_mode.c
@@ -103,7 +103,11 @@ PHPAPI int php_checkuid(const char *filename, char *fopen_mode, int mode)
} else { /* CHECKUID_ALLOW_ONLY_DIR */
s = strrchr(filename, DEFAULT_SLASH);
- if (s) {
+ if (s == filename) {
+ /* root dir */
+ path[0] = DEFAULT_SLASH;
+ path[1] = '\0';
+ } else if (s) {
*s = '\0';
VCWD_REALPATH(filename, path);
*s = DEFAULT_SLASH;