]> 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 303ff55525429c4dac49c47e3fbe9c3c0b4cdf7c..dc3bc8e4e2dc45cf7625c0aa6cc9ac395712e797 100644 (file)
@@ -234,6 +234,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);
@@ -251,7 +254,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 */