summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2026-05-07 01:44:32 +0200
committerOliver Kiddle <opk@zsh.org>2026-05-10 21:58:44 +0200
commit29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d (patch)
tree29457dfca213d50ba6416e70abef02054236e36b /Src
parent54445: support more systems in terminal name completion (diff)
downloadzsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar.gz
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar.bz2
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar.lz
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar.xz
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.tar.zst
zsh-29a82bbe007a1cdcd7d4ec6e5175f3bc7fe9b63d.zip
54486: fix reading outside string issue reported by valgrind
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/termquery.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/Zle/termquery.c b/Src/Zle/termquery.c
index bd601735f..aefc495f3 100644
--- a/Src/Zle/termquery.c
+++ b/Src/Zle/termquery.c
@@ -707,11 +707,11 @@ collate_seq(int sindex, int dir)
int negate = (**e == '-');
if (negate != enabled)
continue;
- if ((editext[i].class &&
- !strncmp(*e + negate, editext[i].key, editext[i].class) &&
- !*(*e + negate + editext[i].class)) ||
+ if ((!editext[i].class ||
+ !strncmp(*e + negate, editext[i].key, editext[i].class)) &&
+ ((editext[i].class && !*(*e + negate + editext[i].class)) ||
!strcmp(*e + negate + editext[i].class,
- editext[i].key + editext[i].class))
+ editext[i].key + editext[i].class)))
{
enabled = !negate;
break;