diff options
author | Tony Cook <tony@develop-help.com> | 2016-01-27 11:52:15 +1100 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2016-02-13 09:23:13 -0500 |
commit | 7098efff946437a2db6013d12c4fc3193fc328ce (patch) | |
tree | 0a0215db090e0657240871ddc67e0559f30e2e39 /hv.c | |
parent | 3c312e43c08e5ccfdc2dce4a2576e629e7a9934c (diff) | |
download | perl-7098efff946437a2db6013d12c4fc3193fc328ce.tar.gz |
remove duplicate environment variables from environ
If we see duplicate environment variables while iterating over
environ[]:
a) make sure we use the same value in %ENV that getenv() returns.
Previously on a duplicate, %ENV would have the last entry for the name
from environ[], but a typical getenv() would return the first entry.
Rather than assuming all getenv() implementations return the first entry
explicitly call getenv() to ensure they agree.
b) remove duplicate entries from environ
Previously if there was a duplicate definition for a name in environ[]
setting that name in %ENV could result in an unsafe value being passed
to a child process, so ensure environ[] has no duplicates.
Diffstat (limited to 'hv.c')
0 files changed, 0 insertions, 0 deletions