Use `File::getSourceName()` to avoid accidental leaks
authorAlexander Ebert <ebert@woltlab.com>
Sun, 14 Apr 2024 11:11:09 +0000 (13:11 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Sat, 8 Jun 2024 10:19:38 +0000 (12:19 +0200)
wcfsetup/install/files/lib/data/file/File.class.php
wcfsetup/install/files/lib/data/file/FileEditor.class.php

index a0442b08974297b505579d10cca2e601232d1480..79b9b820130cff2d77a758b539fbb59cb075faa2 100644 (file)
@@ -30,7 +30,7 @@ class File extends DatabaseObject
     /** @var array<string, FileThumbnail> */
     private array $thumbnails = [];
 
-    public function getFilename(): string
+    public function getSourceFilename(): string
     {
         return \sprintf(
             '%d-%s.bin',
@@ -53,7 +53,7 @@ class File extends DatabaseObject
 
     public function getPathname(): string
     {
-        return $this->getPath() . $this->getFilename();
+        return $this->getPath() . $this->getSourceFilename();
     }
 
     public function getLink(): string
index 66be3cc768fd98de1ccbb64bd75487d80241e7a2..73d5e2f86f298b4ad897023c97087911f3abc07e 100644 (file)
@@ -59,7 +59,7 @@ class FileEditor extends DatabaseObjectEditor
 
         \rename(
             $pathname,
-            $filePath . $file->getFilename()
+            $filePath . $file->getSourceFilename()
         );
 
         return $file;