summaryrefslogtreecommitdiffstats
path: root/lib/private/Preview/Generator.php
diff options
context:
space:
mode:
authorRichard Steinmetz <richard@steinmetz.cloud>2022-05-09 16:54:57 +0200
committerRichard Steinmetz <richard@steinmetz.cloud>2022-05-09 17:30:07 +0200
commit982c846b11147f1c7357e1d8cbd45d55318e3655 (patch)
treeb7cbceed731611a4549fbe82feed57649774598b /lib/private/Preview/Generator.php
parent4f55ba2a8895995649306911e3efa92904906836 (diff)
downloadnextcloud-server-982c846b11147f1c7357e1d8cbd45d55318e3655.tar.gz
nextcloud-server-982c846b11147f1c7357e1d8cbd45d55318e3655.zip
Fix preview generator trying to recreate an existing folder
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'lib/private/Preview/Generator.php')
-rw-r--r--lib/private/Preview/Generator.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php
index cef3fa4039a..e058a15bfa5 100644
--- a/lib/private/Preview/Generator.php
+++ b/lib/private/Preview/Generator.php
@@ -31,6 +31,7 @@ namespace OC\Preview;
use OCP\Files\File;
use OCP\Files\IAppData;
+use OCP\Files\InvalidPathException;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\Files\SimpleFS\ISimpleFile;
@@ -549,12 +550,19 @@ class Generator {
*
* @param File $file
* @return ISimpleFolder
+ *
+ * @throws InvalidPathException
+ * @throws NotFoundException
+ * @throws NotPermittedException
*/
private function getPreviewFolder(File $file) {
+ // Obtain file id outside of try catch block to prevent the creation of an existing folder
+ $fileId = (string)$file->getId();
+
try {
- $folder = $this->appData->getFolder($file->getId());
+ $folder = $this->appData->getFolder($fileId);
} catch (NotFoundException $e) {
- $folder = $this->appData->newFolder($file->getId());
+ $folder = $this->appData->newFolder($fileId);
}
return $folder;