]> granicus.if.org Git - php/commitdiff
- Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent, windows fix
authorPierre Joye <pajoye@php.net>
Mon, 28 Mar 2011 16:43:49 +0000 (16:43 +0000)
committerPierre Joye <pajoye@php.net>
Mon, 28 Mar 2011 16:43:49 +0000 (16:43 +0000)
main/php_open_temporary_file.c

index 458f2bf40563ef5f52be7077c51c01b526cddce4..14bb3d614999a171bb07b05a4fa10e4aafaf477b 100644 (file)
@@ -204,9 +204,13 @@ PHPAPI const char* php_get_temporary_directory(void)
         */
        {
                char sTemp[MAX_PATH];
-               DWORD n = GetTempPath(sizeof(sTemp),sTemp);
-               assert(0 < n);  /* should *never* fail! */
-               temporary_directory = strdup(sTemp);
+               DWORD len = GetTempPath(sizeof(sTemp),sTemp);
+               assert(0 < len);  /* should *never* fail! */
+               if (sTemp[len - 1] == DEFAULT_SLASH) {
+                       temporary_directory = zend_strndup(sTemp, len - 1);
+               } else {
+                       temporary_directory = zend_strndup(sTemp, len);
+               }
                return temporary_directory;
        }
 #else