]> granicus.if.org Git - php/commitdiff
- fixed #53352
authorPierre Joye <pajoye@php.net>
Tue, 23 Nov 2010 22:14:54 +0000 (22:14 +0000)
committerPierre Joye <pajoye@php.net>
Tue, 23 Nov 2010 22:14:54 +0000 (22:14 +0000)
main/fopen_wrappers.c

index 5424f78970695a45a9e182123aeda709f6b3a3fb..53981059d11bdb1297063d261b7d4719a827af74 100644 (file)
@@ -233,6 +233,9 @@ PHPAPI int php_check_specific_open_basedir(const char *basedir, const char *path
                                resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
                                resolved_basedir[++resolved_basedir_len] = '\0';
                        }
+               } else {
+                               resolved_basedir[resolved_basedir_len++] = PHP_DIR_SEPARATOR;
+                               resolved_basedir[resolved_basedir_len] = '\0';
                }
 
                resolved_name_len = strlen(resolved_name);
@@ -250,7 +253,7 @@ PHPAPI int php_check_specific_open_basedir(const char *basedir, const char *path
                if (strncmp(resolved_basedir, resolved_name, resolved_basedir_len) == 0) {
 #endif
                        if (resolved_name_len > resolved_basedir_len &&
-                               resolved_name[resolved_basedir_len] != PHP_DIR_SEPARATOR) {
+                               resolved_name[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
                                return -1;
                        } else {
                                /* File is in the right directory */