zsh-workers
 help / color / mirror / code / Atom feed
* Re: PATCH: 3.1.6-test-3: core dump on parameter completion
@ 1999-08-02  9:00 Sven Wischnowsky
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Wischnowsky @ 1999-08-02  9:00 UTC (permalink / raw)
  To: zsh-workers


Peter Stephenson wrote:

> 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.

Yes, that's correct. Other parts of the code may shorten the strings
in the cline lists (my last matching-code overhaul may have changed
the code so that the strings aren't really modified any more, but it's 
still safer).

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 2+ messages in thread

* PATCH: 3.1.6-test-3: core dump on parameter completion
  1999-07-24 13:12 Peter Stephenson
@ 1999-07-27 14:55 ` Peter Stephenson
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Stephenson @ 1999-07-27 14:55 UTC (permalink / raw)
  To: zsh-workers

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@ibmth.df.unipi.it>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-08-02  9:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-08-02  9:00 PATCH: 3.1.6-test-3: core dump on parameter completion Sven Wischnowsky
  -- strict thread matches above, loose matches on Subject: below --
1999-07-24 13:12 Peter Stephenson
1999-07-27 14:55 ` PATCH: 3.1.6-test-3: " Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).