Merge pull request #1931 from webmin/dev/fix-temp-dir-creation

Fix to consider temp directory may exists with incorrect permissions
This commit is contained in:
Jamie Cameron
2023-06-22 15:48:37 -07:00
committed by GitHub

View File

@@ -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);
}
}