summaryrefslogtreecommitdiff
path: root/Src/Zle
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2022-03-10 13:12:08 +0100
committerMikael Magnusson <mikachu@gmail.com>2022-03-30 08:08:09 +0200
commit054ccf76664c357edb6ac20cc141c9e288751c46 (patch)
tree6716b9eca819da38f7fa60ae693c589ecac9c274 /Src/Zle
parentd7b8619396d806d390126c2abd1c3ce099fe7f59 (diff)
downloadzsh-054ccf76664c357edb6ac20cc141c9e288751c46.tar.gz
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')
-rw-r--r--Src/Zle/compresult.c7
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);