Environment handling broken in /bin/sh with changes to {get,set,put}env()

Michal Mertl mime at traveller.cz
Wed Jul 4 15:16:42 UTC 2007


Sean C. Farley wrote:
> On Wed, 4 Jul 2007, Andrey Chernov wrote:
> 
> > On Wed, Jul 04, 2007 at 06:36:42PM +0400, Andrey Chernov wrote:
> >> 2) "s" may point to getenv()-provided value there. So just modifying
> >> it directly followed by setenv() call will make things inconsistent.
> >>
> >> 3) In my version of patch there was savestr() which copy arg to avoid
> >> this situation.
> >>
> >> Fix will be to restore var.c to mine variant 1.34
> >
> > You may also try this patch against var.c 1.36:
> 
> Andrey, thank you.
> 
> Sorry for the bug everyone.  Here is a patch that should fix it:
> http://www.farley.org/freebsd/tmp/setenv/sh.patch
> 
> Sean

Both version of a patch fix the regression, thanks.

Michal



More information about the freebsd-current mailing list