Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: 3.1.6-test-3: core dump on parameter completion



Peter Stephenson wrote:
> Naoki Wakamatsu wrote:
> > 3.1.6-test-2 generates core file on parameter completion,
> > 
> > % zsh -f
> > % autoload -U compinit
> > % compinit
> > % compconf completer=_approximate 
> > % echo $ZSH_v[TAB]zsh: 15442 segmentation fault (core dumped)  zsh -f
> 
> I get this too, on a different system (HPUX 10.20)

Got it!  There's a missing dupstring(); the cline struct is an invalid
pointer (it's the positional parameter list from the function redefining
compadd, which will be freed before the line is inserted), even though the
returned completion r is correctly duplicated.  The only thing I can't
answer is whether r is really supposed to be different from w at this
point, but let's assume so until proved otherwise.

--- Src/Zle/zle_tricky.c.dups	Sun Jul 25 14:47:27 1999
+++ Src/Zle/zle_tricky.c	Tue Jul 27 16:43:30 1999
@@ -2617,6 +2617,7 @@
 	    chuck(r);
 	/* We still break it into parts here, trying to build a sensible
 	 * cline list for these matches, too. */
+	w = dupstring(w);
 	wl = strlen(w);
 	*clp = bld_parts(w, wl, wl, NULL);
 	*exact = 0;


-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy



Messages sorted by: Reverse Date, Date, Thread, Author