Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Fix #87 - Segfault fault when autocompleting after ">" in, "!> ."
- X-seq: zsh-workers 40025
- From: Raphaël Jakse <raphael.jakse@xxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] Fix #87 - Segfault fault when autocompleting after ">" in, "!> ."
- Date: Mon, 28 Nov 2016 14:06:54 +0100
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- Mailscanner-null-check: 1480943214.15187@mWGPB+9vIZNzOxpRGMzjFw
Dear zsh developers,
Bug #87 in the SF bug tracker (which is not used anymore if I understood
correctly) claims that when hitting tab to complete after '>' in the
string "!> cmake ..", zsh crashes. I could reproduce the bug that also
appears with the string "!> .".
Here is a patch that works around this bug by checking whether s is null
in the get_comp_string function (zle_tricky.c) before a code that seems
to assume that s is not null. The get_comp_string function is full of
warnings like "abandon all hopes" and "This function is a nightmare" so
I didn't try to know whether s being null at this point is correct.
It is unclear to me how to send a patch for zsh so please let me know if
something is wrong or if additional steps are necessary to apply this patch.
Best,
Raphaël
From ced2387dc8dc65aecc34ecde29924810126a48be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Jakse?= <raphael.jakse@xxxxxxx>
Date: Fri, 25 Nov 2016 17:14:39 +0100
Subject: [PATCH] Fix #87 - Segfault when autocompleting after ">" in "!> ."
The fix is a workaround that checks whether s is null in the get_comp_string
function (zle_tricky.c) before a code that seems to assume that s is not null
get_comp_string.
---
Src/Zle/zle_tricky.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index c8d3bb3..18ec47a 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1518,7 +1518,7 @@ get_comp_string(void)
zlemetaline = tmp;
zlemetall = strlen(zlemetaline);
}
- if (t0 != STRING && t0 != TYPESET && inwhat != IN_MATH) {
+ if (!s || (t0 != STRING && t0 != TYPESET && inwhat != IN_MATH)) {
if (tmp) {
tmp = NULL;
linptr = zlemetaline;
--
2.9.3
Messages sorted by:
Reverse Date,
Date,
Thread,
Author