Sync with 2.47.3
* maint-2.47: Git 2.47.3 Git 2.46.4 Git 2.45.4 Git 2.44.4 Git 2.43.7 wincred: avoid buffer overflow in wcsncat() bundle-uri: fix arbitrary file writes via parameter injection config: quote values containing CR character git-gui: sanitize 'exec' arguments: convert new 'cygpath' calls git-gui: do not mistake command arguments as redirection operators git-gui: introduce function git_redir for git calls with redirections git-gui: pass redirections as separate argument to git_read git-gui: pass redirections as separate argument to _open_stdout_stderr git-gui: convert git_read*, git_write to be non-variadic git-gui: override exec and open only on Windows gitk: sanitize 'open' arguments: revisit recently updated 'open' calls git-gui: use git_read in githook_read git-gui: sanitize $PATH on all platforms git-gui: break out a separate function git_read_nice git-gui: assure PATH has only absolute elements. git-gui: remove option --stderr from git_read git-gui: cleanup git-bash menu item git-gui: sanitize 'exec' arguments: background git-gui: avoid auto_execok in do_windows_shortcut git-gui: sanitize 'exec' arguments: simple cases git-gui: avoid auto_execok for git-bash menu item git-gui: treat file names beginning with "|" as relative paths git-gui: remove unused proc is_shellscript git-gui: remove git config --list handling for git < 1.5.3 git-gui: remove special treatment of Windows from open_cmd_pipe git-gui: remove HEAD detachment implementation for git < 1.5.3 git-gui: use only the configured shell git-gui: remove Tcl 8.4 workaround on 2>@1 redirection git-gui: make _shellpath usable on startup git-gui: use [is_Windows], not bad _shellpath git-gui: _which, only add .exe suffix if not present gitk: encode arguments correctly with "open" gitk: sanitize 'open' arguments: command pipeline gitk: collect construction of blameargs into a single conditional gitk: sanitize 'open' arguments: simple commands, readable and writable gitk: sanitize 'open' arguments: simple commands with redirections gitk: sanitize 'open' arguments: simple commands gitk: sanitize 'exec' arguments: redirect to process gitk: sanitize 'exec' arguments: redirections and background gitk: sanitize 'exec' arguments: redirections gitk: sanitize 'exec' arguments: 'eval exec' gitk: sanitize 'exec' arguments: simple cases gitk: have callers of diffcmd supply pipe symbol when necessary gitk: treat file names beginning with "|" as relative paths
This commit is contained in:
@@ -191,7 +191,7 @@ proc show_other_diff {path w m cont_info} {
|
||||
set sz [string length $content]
|
||||
}
|
||||
file {
|
||||
set fd [open $path r]
|
||||
set fd [safe_open_file $path r]
|
||||
fconfigure $fd \
|
||||
-eofchar {} \
|
||||
-encoding [get_path_encoding $path]
|
||||
@@ -215,7 +215,7 @@ proc show_other_diff {path w m cont_info} {
|
||||
$ui_diff insert end \
|
||||
"* [mc "Git Repository (subproject)"]\n" \
|
||||
d_info
|
||||
} elseif {![catch {set type [exec file $path]}]} {
|
||||
} elseif {![catch {set type [safe_exec [list file $path]]}]} {
|
||||
set n [string length $path]
|
||||
if {[string equal -length $n $path $type]} {
|
||||
set type [string range $type $n end]
|
||||
@@ -327,7 +327,7 @@ proc start_show_diff {cont_info {add_opts {}}} {
|
||||
}
|
||||
}
|
||||
|
||||
if {[catch {set fd [eval git_read --nice $cmd]} err]} {
|
||||
if {[catch {set fd [git_read_nice $cmd]} err]} {
|
||||
set diff_active 0
|
||||
unlock_index
|
||||
ui_status [mc "Unable to display %s" [escape_path $path]]
|
||||
@@ -603,7 +603,7 @@ proc apply_or_revert_hunk {x y revert} {
|
||||
|
||||
if {[catch {
|
||||
set enc [get_path_encoding $current_diff_path]
|
||||
set p [eval git_write $apply_cmd]
|
||||
set p [git_write $apply_cmd]
|
||||
fconfigure $p -translation binary -encoding $enc
|
||||
puts -nonewline $p $wholepatch
|
||||
close $p} err]} {
|
||||
@@ -839,7 +839,7 @@ proc apply_or_revert_range_or_line {x y revert} {
|
||||
|
||||
if {[catch {
|
||||
set enc [get_path_encoding $current_diff_path]
|
||||
set p [eval git_write $apply_cmd]
|
||||
set p [git_write $apply_cmd]
|
||||
fconfigure $p -translation binary -encoding $enc
|
||||
puts -nonewline $p $current_diff_header
|
||||
puts -nonewline $p $wholepatch
|
||||
@@ -876,7 +876,7 @@ proc undo_last_revert {} {
|
||||
|
||||
if {[catch {
|
||||
set enc $last_revert_enc
|
||||
set p [eval git_write $apply_cmd]
|
||||
set p [git_write $apply_cmd]
|
||||
fconfigure $p -translation binary -encoding $enc
|
||||
puts -nonewline $p $last_revert
|
||||
close $p} err]} {
|
||||
|
||||
Reference in New Issue
Block a user