From f91b02e9b68e5478e93ec059a5439b493d1a1d39 Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Fri, 14 Jun 2013 15:07:06 +0200 Subject: only escape glob pattern --- apps/files_trashbin/lib/trash.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'apps/files_trashbin') diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php index 2d1830a38f1..e06e959f8eb 100644 --- a/apps/files_trashbin/lib/trash.php +++ b/apps/files_trashbin/lib/trash.php @@ -193,10 +193,11 @@ class Trashbin { $rootView->rename($sharekeys, $user.'/files_trashbin/share-keys/' . $filename . '.d' . $timestamp); } else { // get local path to share-keys - $localShareKeysPath = $rootView->getLocalFile($sharekeys); + $localShareKeysPath = $rootView->getLocalFile($sharekeys); + $escapedLocalShareKeysPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localShareKeysPath); // handle share-keys - $matches = glob(preg_quote($localShareKeysPath).'*.shareKey'); + $matches = glob($escapedLocalShareKeysPath.'*.shareKey'); foreach ($matches as $src) { // get source file parts $pathinfo = pathinfo($src); @@ -737,14 +738,15 @@ class Trashbin { */ private static function getVersionsFromTrash($filename, $timestamp) { $view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions'); - $versionsName = $view->getLocalFile($filename); + $versionsName = $view->getLocalFile($filename).'.v'; + $escapedVersionsName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName); $versions = array(); if ($timestamp ) { // fetch for old versions - $matches = glob( $versionsName.'.v*.d'.$timestamp ); + $matches = glob( $escapedVersionsName.'*.d'.$timestamp ); $offset = -strlen($timestamp)-2; } else { - $matches = glob( $versionsName.'.v*' ); + $matches = glob( $escapedVersionsName.'*' ); } foreach( $matches as $ma ) { -- cgit v1.2.3