Subject: Re: csh bug
To: Christos Zoulas <christos@zoulas.com>
From: John Hawkinson <jhawk@MIT.EDU>
List: netbsd-bugs
Date: 09/04/2000 14:26:10
In message <200009041754.NAA10729@hrothgar.gw.com>, Christos Zoulas writes:
>Releng, I am submitting this as a pullup for 1.5...
>
>Please pull up 1.25 -> 1.26 for /cvsroot/basesrc/bin/csh/csh.c
Approved. Please execute the pullup yourself.
--jhawk
>On Sep 4, 11:25am, mickey@lucifier.remote.dti.net (Michael Shalayeff) wrote:
>-- Subject: Re: csh bug
>
>| > can you please send also an example that exercises the bug?
>| oh, sorry.
>|
>| env PATH='/a/*/d/b/g' csh
>
>Hmm, I looked at the code path, and this should really not be expanding.
>It seems like only 1/2 of the bug fix made it from tcsh to csh. I.e. You
>really don't want someone feeding you:
>
> env PATH='`rm -fr /`' /bin/csh
>
>and expanding environment variables. In addition there is no way to handle
>paths that contain globbing characters. The fix follows [plus two small memory
>leaks]... I should go through the tcsh code and make sure that the important
>fixes have made it into the csh base.
>
>Releng, I am submitting this as a pullup for 1.5...
>
>Please pull up 1.25 -> 1.26 for /cvsroot/basesrc/bin/csh/csh.c
>
>Thanks for finding this,
>
>christos
>
>Index: csh.c
>===================================================================
>RCS file: /cvsroot/basesrc/bin/csh/csh.c,v
>retrieving revision 1.25
>diff -u -u -r1.25 csh.c
>--- csh.c 2000/05/31 22:48:44 1.25
>+++ csh.c 2000/09/04 17:46:17
>@@ -261,12 +261,12 @@
> */
> if ((ecp = getenv("PATH")) == NULL) {
> #ifdef _PATH_DEFPATH
>- importpath(SAVE(_PATH_DEFPATH));
>+ importpath(str2short(_PATH_DEFPATH));
> #else
> setq(STRpath, defaultpath(), &shvhed);
> #endif
> } else {
>- importpath(SAVE(ecp));
>+ importpath(str2short(ecp));
> }
>
> set(STRshell, Strsave(STR_SHELLPATH));
>@@ -647,7 +647,7 @@
> dp++;
> }
> pv[i] = 0;
>- set1(STRpath, pv, &shvhed);
>+ setq(STRpath, pv, &shvhed);
> }
>
> /*