Environment handling broken in /bin/sh with changes to
{get,set,put}env()
Andrey Chernov
ache at nagual.pp.ru
Wed Jul 4 16:53:41 UTC 2007
On Wed, Jul 04, 2007 at 05:41:10PM +0100, Robert Watson wrote:
>
> I assume I'm not the only person with this concern, but -- shouldn't we
> worry that subtle changes in the semantics of very basic and widely used
> system APIs might not result in more of exactly this sort of problem?
This happens due to improper putenv()->setenv() transition in sh code,
not directly because of semantics change. F.e. it works in my commited
code long ago.
Very basic and widely used system's APIs (excepting BSD one) already do
proper thing.
> While I'm supportive of the general aim of improving the portability of our
> APIs, environmental variables are managed by large numbers of programs in
> rather subtle ways--do we generally feel that this recent work will
> decrease or increase the number of subtle bugs? After all, we've changed
> long-standing semantics for the APIs...
Just re-read old discussion. Long-standing semantics most system agree
(Sun, Linux) already do that way. Only BSD doesn't.
No surprise than that old BSD-specific code is full of bugs and not
portable.
--
http://ache.pp.ru/
More information about the freebsd-current
mailing list