[Pkg-owncloud-commits] [owncloud] 05/07: Ensure that passed argument is always a string

David Prévot taffit at moszumanska.debian.org
Tue Jun 2 01:40:58 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to annotated tag v8.0.4RC2
in repository owncloud.

commit 7b5493ea21925391e0cb6480faabb1c465b3437e
Author: Lukas Reschke <lukas at owncloud.com>
Date:   Fri Feb 13 12:49:34 2015 +0100

    Ensure that passed argument is always a string
    
    Some code paths called the `normalizePath` functionality with types other than a string which resulted in unexpected behaviour.
    
    Thus the function is now manually casting the type to a string and I corrected the usage in list.php as well.
---
 apps/files/ajax/list.php         | 2 +-
 lib/private/files/filesystem.php | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php
index f9facd0..8ede529 100644
--- a/apps/files/ajax/list.php
+++ b/apps/files/ajax/list.php
@@ -5,7 +5,7 @@ OCP\JSON::checkLoggedIn();
 $l = \OC::$server->getL10N('files');
 
 // Load the files
-$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
+$dir = isset($_GET['dir']) ? (string)$_GET['dir'] : '';
 $dir = \OC\Files\Filesystem::normalizePath($dir);
 
 try {
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index 7074406..9c125f5 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -723,9 +723,18 @@ class Filesystem {
 	 * Fix common problems with a file path
 	 * @param string $path
 	 * @param bool $stripTrailingSlash
+	 * @param bool $isAbsolutePath
 	 * @return string
 	 */
 	public static function normalizePath($path, $stripTrailingSlash = true, $isAbsolutePath = false) {
+		/**
+		 * FIXME: This is a workaround for existing classes and files which call
+		 *        this function with another type than a valid string. This
+		 *        conversion should get removed as soon as all existing
+		 *        function calls have been fixed.
+		 */
+		$path = (string)$path;
+
 		$cacheKey = json_encode([$path, $stripTrailingSlash, $isAbsolutePath]);
 
 		if(isset(self::$normalizedPathCache[$cacheKey])) {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list