diff options
author | Mikael Magnusson <mikachu@gmail.com> | 2022-03-10 13:12:08 +0100 |
---|---|---|
committer | Mikael Magnusson <mikachu@gmail.com> | 2022-03-30 08:08:09 +0200 |
commit | 054ccf76664c357edb6ac20cc141c9e288751c46 (patch) | |
tree | 6716b9eca819da38f7fa60ae693c589ecac9c274 /Src/Zle/compresult.c | |
parent | d7b8619396d806d390126c2abd1c3ce099fe7f59 (diff) | |
download | zsh-054ccf76664c357edb6ac20cc141c9e288751c46.tar.gz zsh-054ccf76664c357edb6ac20cc141c9e288751c46.tar.xz zsh-054ccf76664c357edb6ac20cc141c9e288751c46.zip |
49820: Fix a crash when completing with combination of -Q and braces
minimal reproducer .zshrc: zstyle ':completion:*' completer _oldlist _complete setopt nolistambiguous autoload compinit; compinit compdef _foo foo;_foo() { compadd -Q -- stash@{{0,1}} }
Diffstat (limited to 'Src/Zle/compresult.c')
-rw-r--r-- | Src/Zle/compresult.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c index 8b5955819..0fed297b5 100644 --- a/Src/Zle/compresult.c +++ b/Src/Zle/compresult.c @@ -612,9 +612,10 @@ instmatch(Cmatch m, int *scs) int pcs = zlemetacs; l = 0; - for (bp = brbeg, brpos = m->brpl, - bradd = (m->pre ? strlen(m->pre) : 0); - bp; bp = bp->next, brpos++) { + bradd = (m->pre ? strlen(m->pre) : 0); + for (bp = brbeg, brpos = m->brpl; + bp && brpos; + bp = bp->next, brpos++) { zlemetacs = a + *brpos + bradd; pcs = zlemetacs; l = strlen(bp->str); |