summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUrban Müller2024-12-03 00:05:22 +0100
committerUrban Müller2024-12-03 00:05:22 +0100
commite490f99bafee3acf49196b5838d052a9aca98d5a (patch)
tree8a926e4763fca3d397b148f8bc7483888149d3f7
parent15b450b9405529ae943bb7761e76b7adc5cda8e6 (diff)
downloaditools-e490f99bafee3acf49196b5838d052a9aca98d5a.tar.gz
itools-e490f99bafee3acf49196b5838d052a9aca98d5a.tar.bz2
itools-e490f99bafee3acf49196b5838d052a9aca98d5a.zip
avoid leaving tempfiles lying around if rename fails for permission reasonsHEADmaster
-rw-r--r--it.class4
1 files changed, 4 insertions, 0 deletions
diff --git a/it.class b/it.class
index e6e67d9..cbb5486 100644
--- a/it.class
+++ b/it.class
@@ -1217,8 +1217,12 @@ static function file_put($filename, $data, $p = array())
$tmpdir = is_dir($tmp) && is_writable($tmp) && stat($tmp)[0] == stat(dirname($filename))[0] ? $tmp : dirname($filename);
$tmpfile = "$tmpdir/.it_put." . basename($filename) . "." . getmypid();
if (($result = it::file_put_contents($filename == "-" ? "php://stdout" : $tmpfile, $data)) !== false && $filename != "-")
+ {
if (($result = rename($tmpfile, $filename)) && $p['cdist'])
$result = it::cdist($filename);
+ else
+ @unlink($tmpfile);
+ }
return $result;
}