From d95197a2ec43c79958aaf198189d4f138422a331 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sat, 9 Sep 2023 22:11:50 -0700 Subject: [PATCH] unposted: extra quoting of words in "eval" for safety --- ChangeLog | 4 ++++ Completion/Base/Utility/_shadow | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b9ecfce3..72922feb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-09-09 Bart Schaefer + + * unposted: Completion/Base/Utility/_shadow: quoting for safety + 2023-09-07 Jun-ichi Takimoto * 52114: Completion/Unix/Command/_nice: improve _nice (support diff --git a/Completion/Base/Utility/_shadow b/Completion/Base/Utility/_shadow index b5a8acb24..9e78af38f 100644 --- a/Completion/Base/Utility/_shadow +++ b/Completion/Base/Utility/_shadow @@ -55,10 +55,10 @@ _shadow() { fnames+=(f@$fname) elif (( ${+builtins[$fname]} )) then - eval "function -- $shadowname { builtin $fname \"\$@\" }" + eval "function -- ${(q-)shadowname} { builtin ${(q-)fname} \"\$@\" }" fnames+=(b@$fname) else - eval "function -- $shadowname { command $fname \"\$@\" }" + eval "function -- ${(q-)shadowname} { command ${(q-)fname} \"\$@\" }" fnames+=(c@$fname) fi done