]> 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 e71e7f00e292a08052ebf4a4018f198374a42c39..8ad7362bba3b1564851e32befde16edd8940a9a4 100644 (file)
@@ -820,12 +820,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