[BUGFIX] Detect unix-styled absolute paths on Windows systems 24/24724/2
authorNicole Cordes <typo3@cordes.co>
Mon, 14 Oct 2013 08:12:34 +0000 (10:12 +0200)
committerNicole Cordes <typo3@cordes.co>
Mon, 14 Oct 2013 09:39:31 +0000 (11:39 +0200)
Currently PathUtility::isAbsolutePath and GeneralUtility::isAbsPath
only the for ":\" to detect absolute paths on Windows systems. This
patch provides even ":/" as unix-styled paths are mostly used now.

Resolves: #52773
Releases: 6.2, 6.1, 6.0
Change-Id: I1e132bbe74394861af4bf02a22287c9496953150
Reviewed-on: https://review.typo3.org/24724
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
typo3/sysext/core/Classes/Utility/GeneralUtility.php
typo3/sysext/core/Classes/Utility/PathUtility.php

index 5f4f449..861cc01 100644 (file)
@@ -3548,7 +3548,7 @@ Connection: close
         */
        static public function isAbsPath($path) {
                // On Windows also a path starting with a drive letter is absolute: X:/
-               if (TYPO3_OS === 'WIN' && substr($path, 1, 2) === ':/') {
+               if (TYPO3_OS === 'WIN' && (substr($path, 1, 2) === ':/' || substr($path, 1, 2) === ':\\')) {
                        return TRUE;
                }
                // Path starting with a / is always absolute, on every system
index 82921d5..05ee497 100644 (file)
@@ -201,7 +201,7 @@ class PathUtility {
         */
        static public function isAbsolutePath($path) {
                // On Windows also a path starting with a drive letter is absolute: X:/
-               if (static::isWindows() && substr($path, 1, 2) === ':/') {
+               if (static::isWindows() && (substr($path, 1, 2) === ':/' || substr($path, 1, 2) === ':\\')) {
                        return TRUE;
                }
                // Path starting with a / is always absolute, on every system
@@ -295,4 +295,4 @@ class PathUtility {
 }
 
 
-?>
\ No newline at end of file
+?>