[pve-devel] [PATCH v1 pve-common 10/18] pbsclient: use `File::Spec->catfile` to concatenate file paths

Max Carrara m.carrara at proxmox.com
Fri Aug 2 15:26:48 CEST 2024


Signed-off-by: Max Carrara <m.carrara at proxmox.com>
---
 src/PVE/PBSClient.pm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/PVE/PBSClient.pm b/src/PVE/PBSClient.pm
index 2084bb5..69b4e40 100644
--- a/src/PVE/PBSClient.pm
+++ b/src/PVE/PBSClient.pm
@@ -5,6 +5,7 @@ use warnings;
 
 use Fcntl qw(F_GETFD F_SETFD FD_CLOEXEC);
 use File::Path;
+use File::Spec;
 use File::Temp qw(tempdir);
 use IO::File;
 use JSON;
@@ -181,7 +182,7 @@ sub new {
 my sub password_file_name {
     my ($self) = @_;
 
-    return "$self->{secret_dir}/$self->{storeid}.pw";
+    return File::Spec->catfile($self->{secret_dir}, "$self->{storeid}.pw");
 }
 
 =pod
@@ -267,7 +268,7 @@ I<secret directory> it is located in.
 sub encryption_key_file_name {
     my ($self) = @_;
 
-    return "$self->{secret_dir}/$self->{storeid}.enc";
+    return File::Spec->catfile($self->{secret_dir}, "$self->{storeid}.enc");
 };
 
 =pod
@@ -354,7 +355,7 @@ my sub do_raw_client_cmd {
     my $client_bin = delete($opts{binary}) || 'proxmox-backup-client';
     my $use_crypto = $USE_CRYPT_PARAMS->{$client_bin}->{$client_cmd} // 0;
 
-    my $client_exe = "/usr/bin/$client_bin";
+    my $client_exe = File::Spec->catfile("/usr/bin", $client_bin);
     die "executable not found '$client_exe'! $client_bin not installed?\n" if ! -x $client_exe;
 
     my $scfg = $self->{scfg};
@@ -865,18 +866,20 @@ sub file_restore_extract_prepare {
     my ($self) = @_;
 
     my $tmpdir = tempdir();
-    mkfifo("$tmpdir/fifo", 0600)
-	or die "creating file download fifo '$tmpdir/fifo' failed: $!\n";
+    my $fifo_path = File::Spec->catfile($tmpdir, "fifo");
+
+    mkfifo($fifo_path, 0600)
+	or die "creating file download fifo '$fifo_path' failed: $!\n";
 
     # allow reading data for proxy user
     my $wwwid = getpwnam('www-data') ||
 	die "getpwnam failed";
     chown($wwwid, -1, "$tmpdir")
 	or die "changing permission on fifo dir '$tmpdir' failed: $!\n";
-    chown($wwwid, -1, "$tmpdir/fifo")
-	or die "changing permission on fifo '$tmpdir/fifo' failed: $!\n";
+    chown($wwwid, -1, $fifo_path)
+	or die "changing permission on fifo '$fifo_path' failed: $!\n";
 
-    return "$tmpdir/fifo";
+    return $fifo_path;
 }
 
 =pod
-- 
2.39.2





More information about the pve-devel mailing list