(bug 27052) CSSMin generated URLs like foo//../bar in some cases, which apparently...
authorRoan Kattouw <catrope@users.mediawiki.org>
Mon, 14 Mar 2011 15:01:50 +0000 (15:01 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Mon, 14 Mar 2011 15:01:50 +0000 (15:01 +0000)
includes/libs/CSSMin.php

index faea551..d5a3a2d 100644 (file)
@@ -144,6 +144,9 @@ class CSSMin {
                        $query = $match['query'][0];
                        $url = "{$remote}/{$match['file'][0]}";
                        $file = "{$local}/{$match['file'][0]}";
+                       // bug 27052 - Guard against double slashes, because foo//../bar
+                       // apparently resolves to foo/bar on (some?) clients
+                       $url = preg_replace( '#//+#', '/', $url );
                        $replacement = false;
                        if ( $local !== false && file_exists( $file ) ) {
                                // Add version parameter as a time-stamp in ISO 8601 format,