mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-03 06:41:14 -03:00
Prevent buffer overflow when custom completions edit the commandline
This was introduced in a7ea7648c3
"Completion: maintain cursor position when there is no completion"
This commit is contained in:
20
tests/complete.expect
Normal file
20
tests/complete.expect
Normal file
@@ -0,0 +1,20 @@
|
||||
# vim: set filetype=expect:
|
||||
spawn $fish
|
||||
set sid $spawn_id
|
||||
expect_prompt
|
||||
|
||||
send_line {
|
||||
complete -c my_is -n 'test (count (commandline -opc)) = 1' -xa arg
|
||||
complete -c my_is -n '__fish_seen_subcommand_from not' -xa '(
|
||||
set -l cmd (commandline -opc) (commandline -ct)
|
||||
set cmd (string join " " my_is $cmd[3..-1])" "
|
||||
commandline --replace --current-process $cmd
|
||||
complete -C"$cmd"
|
||||
)'
|
||||
}
|
||||
send "my_is not \t"
|
||||
send "still.alive"
|
||||
expect -re {.*still.alive} {
|
||||
} eof {
|
||||
error "did fish crash?"
|
||||
}
|
||||
Reference in New Issue
Block a user