gitk: sanitize 'exec' arguments: redirections and background
Convert 'exec' calls that both redirect output to a file and run the process in the background. 'safe_exec_redirect' can take both these "redirections" in the second argument simultaneously. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Taylor Blau <me@ttaylorr.com>
This commit is contained in:
committed by
Taylor Blau
parent
6b631ee8ed
commit
7a0493edda
5
gitk
5
gitk
@@ -9363,8 +9363,7 @@ proc mkpatchgo {} {
|
||||
set newid [$patchtop.tosha1 get]
|
||||
set fname [$patchtop.fname get]
|
||||
set cmd [diffcmd [list $oldid $newid] -p]
|
||||
lappend cmd >$fname &
|
||||
if {[catch {eval exec $cmd} err]} {
|
||||
if {[catch {safe_exec_redirect $cmd [list >$fname &]} err]} {
|
||||
error_popup "[mc "Error creating patch:"] $err" $patchtop
|
||||
}
|
||||
catch {destroy $patchtop}
|
||||
@@ -9553,7 +9552,7 @@ proc wrcomgo {} {
|
||||
set id [$wrcomtop.sha1 get]
|
||||
set cmd "echo $id | [$wrcomtop.cmd get]"
|
||||
set fname [$wrcomtop.fname get]
|
||||
if {[catch {exec sh -c $cmd >$fname &} err]} {
|
||||
if {[catch {safe_exec_redirect [list sh -c $cmd] [list >$fname &]} err]} {
|
||||
error_popup "[mc "Error writing commit:"] $err" $wrcomtop
|
||||
}
|
||||
catch {destroy $wrcomtop}
|
||||
|
||||
Reference in New Issue
Block a user