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

Andrey Chernov ache at nagual.pp.ru
Thu Jul 5 11:58:19 UTC 2007


On Wed, Jul 04, 2007 at 09:53:15PM -0500, Sean C. Farley wrote:
> The latest patch at the same URL fixes that issue.  It basically
> deactivates all existing variables and inserts the new environ variables
> into the envVars array.

Calling __clean_env(false) is good but the rest looks like a bit overkill.

Previously the goal of veryfy_env() is just deactivate, the goal of 
build_env() is just build. It was build_env() who insetrts new environ 
variables into envVars array in old variant, isn't?

Now verify_env() takes the role of build_env() too, moreover, may cause 
setenv() to be called recursively which isn't good.

-- 
http://ache.pp.ru/


More information about the freebsd-current mailing list