From 2bf304c5ef0c85b533b19fe6097527741311a2bc Mon Sep 17 00:00:00 2001 From: netkas Date: Sun, 29 Sep 2024 21:15:01 -0400 Subject: [PATCH] Refactor TempFile class field types and improve filename validation --- src/TempFile/TempFile.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/TempFile/TempFile.php b/src/TempFile/TempFile.php index c4ef970..b5d47af 100644 --- a/src/TempFile/TempFile.php +++ b/src/TempFile/TempFile.php @@ -1,7 +1,5 @@ filename .= '.' . $options[Options::Extension]; - $this->filename = preg_replace('/[^a-zA-Z0-9.\-_]/', '', $this->filename); + $replaced = preg_replace('/[^a-zA-Z0-9.\-_]/', '', $this->filename); + + if($replaced === false) + { + throw new InvalidArgumentException('The filename contains invalid characters'); + } + + if(is_array($replaced)) + { + $replaced = implode('', $replaced); + } + + $this->filename = $replaced; if(isset($options[Options::Directory])) {