diff options
author | Nathan Gass | 2025-08-26 11:50:40 +0200 |
---|---|---|
committer | Nathan Gass | 2025-08-26 12:07:42 +0200 |
commit | 90a3b712e4f5df5832f219562703af4d43b1ae06 (patch) | |
tree | 829bbc3319282b15f4ba148ba483c692e30dae26 | |
parent | 9d04d01fd7fe8967457e7a9f51cd0d33e8188266 (diff) | |
download | itools-90a3b712e4f5df5832f219562703af4d43b1ae06.tar.gz itools-90a3b712e4f5df5832f219562703af4d43b1ae06.tar.bz2 itools-90a3b712e4f5df5832f219562703af4d43b1ae06.zip |
handle shell process substitution and - in it file wrappers
-rw-r--r-- | it.class | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1169,7 +1169,7 @@ static function file_get($filename, $p = array()) { if (isset($p['it_cache']) && ($key = "it_file_get_" . md5(json_encode([$filename, $p]))) && ($result = it_cache::get($key, $p['it_cache'])) !== null) return $result; - elseif (($data = it::file_get_contents($filename == "-" ? "php://stdin" : $filename)) !== false) + elseif (($data = it::file_get_contents($filename)) !== false) { if ($p['keyval']) { @@ -1302,6 +1302,7 @@ static function safe_filename($filename) { if (it::match("\.\./", $filename)) it::fatal(['title' => "../ contained in '$filename', aborted"]); + $filename = it::replace(['^/dev/fd/(\d+)$' => 'php://fd/$1', '^-$' => 'php://stdin'], $filename); return $filename; } |