From 0754367f488ddddadebd73a524ff7b0a50febb49 Mon Sep 17 00:00:00 2001 From: iliajie Date: Thu, 22 Jun 2023 12:32:35 +0300 Subject: [PATCH] Fix to consider temp directory may exists with incorrect permissions --- web-lib-funcs.pl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index d3c89c75d..a6a1a9638 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -406,14 +406,17 @@ else { system("/bin/rm -rf ". quotemeta($tmp_dir)); } - mkdir($tmp_dir, 0755) || (($mkdirerr = $!), next); - chown($<, $(, $tmp_dir); - chmod(0755, $tmp_dir); + # Directory may exist but has wrong permissions + if (!-d $tmp_dir) { + mkdir($tmp_dir, 0755) || (($mkdirerr = $!), next); + } + chown($<, $(, $tmp_dir) || (($mkdirerr = $!), next); + chmod(0755, $tmp_dir) || (($mkdirerr = $!), next); } if ($tries >= 10) { my @st = lstat($tmp_dir); $mkdirerr = $mkdirerr ? " : $mkdirerr" : ""; - &error("Failed to create temp directory ". + &error("Failed to setup temp directory ". $tmp_dir.$mkdirerr); } }