diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | Src/Zle/compmatch.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 40b7bc380..049fdbf21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,8 @@ 2000-06-15 Sven Wischnowsky <wischnow@zsh.org> + * 11924: Src/Zle/compmatch.c: more security in completion matching + * 11915: Completion/Core/_files, Doc/Zsh/compsys.yo: make _files try each pattern only once (and stop after `*') diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index 8cdfddede..180dce5df 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -488,7 +488,7 @@ match_str(char *l, char *w, Brinfo *bpp, int bc, int *rwlp, */ bslash = 0; - if (test && !sfx && + if (test && !sfx && lw && (l[ind] == w[ind] || (bslash = (lw > 1 && w[ind] == '\\' && (ind ? (w[0] == l[0]) : (w[1] == l[0])))))) { @@ -803,7 +803,7 @@ match_str(char *l, char *w, Brinfo *bpp, int bc, int *rwlp, /* Same code as at the beginning, used in top-level calls. */ bslash = 0; - if ((!test || sfx) && + if ((!test || sfx) && lw && (l[ind] == w[ind] || (bslash = (lw > 1 && w[ind] == '\\' && (ind ? (w[0] == l[0]) : (w[1] == l[0])))))) { |