]> granicus.if.org Git - php/commitdiff
- path len check and fix buffer overrun
authorPierre Joye <pajoye@php.net>
Wed, 19 Jan 2011 14:21:46 +0000 (14:21 +0000)
committerPierre Joye <pajoye@php.net>
Wed, 19 Jan 2011 14:21:46 +0000 (14:21 +0000)
main/php_ini.c

index c842532834a203548db212434c47707c8738aa31..5b13adb25823809f0700cd009e6cbffcd9c68460 100644 (file)
@@ -824,12 +824,15 @@ PHPAPI void php_ini_activate_per_dir_config(char *path, uint path_len TSRMLS_DC)
 
 #if PHP_WIN32
        char path_bak[MAXPATHLEN];
+#endif
 
        if (path_len > MAXPATHLEN) {
                return;
        }
+
+#if PHP_WIN32
        memcpy(path_bak, path, path_len);
-       path_bak[path_len] = 0;
+       path_bak[path_len - 1] = 0;
        TRANSLATE_SLASHES_LOWER(path_bak);
        path = path_bak;
 #endif