From: Sergey Matveev Date: Fri, 15 Aug 2025 08:31:25 +0000 (+0300) Subject: Safer exec calls X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1153c53a54ddc8652752cb2c0f31171cb2c9ec0137bffee06844fbf4bebb45af;p=dsc.git Safer exec calls --- diff --git a/dsc b/dsc index d867fda..7bb1984 100755 --- a/dsc +++ b/dsc @@ -92,7 +92,7 @@ proc find-checker {opt} { proc run-checker {opt v} { global Schema - set fh [open "| $Schema/[find-checker $opt]/check $opt" r+] + set fh [open |[list "$Schema/[find-checker $opt]/check" $opt 2>@1] r+] puts $fh $v close $fh w set v [read $fh] @@ -155,11 +155,7 @@ switch [lindex $argv 0] { file delete -force $Stash/$opt } set { - if {[llength $argv] == 2} { - set v [read -nonewline stdin] - } else { - set v [lindex $argv 2] - } + set v [lindex $argv 2] if {$v == ""} { file delete $Stash/$opt exit @@ -203,12 +199,12 @@ switch [lindex $argv 0] { puts $fh [string range $fn [string length $Stash]+1 end] } close $fh - set fh [open "| diff -u -L dirs -L dirs $dirsSaved $dirsStash" r] + set fh [open |[list diff -u -L dirs -L dirs $dirsSaved $dirsStash] r] puts -nonewline [read $fh] catch {close $fh} file delete $dirsSaved file delete $dirsStash - set fh [open "| diff -urN $Saved/$opt $Stash/$opt" r] + set fh [open |[list diff -urN $Saved/$opt $Stash/$opt] r] set prefixSaved "--- $Saved/" set prefixSavedLen [string length $prefixSaved] set prefixStash "+++ $Stash/"