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

Sean C. Farley scf at FreeBSD.org
Wed Jul 4 15:12:35 UTC 2007


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
-- 
scf at FreeBSD.org


More information about the freebsd-current mailing list