summaryrefslogtreecommitdiffstats
path: root/lib/ncurses
diff options
context:
space:
mode:
authorscf <scf@FreeBSD.org>2007-07-20 23:30:13 +0000
committerscf <scf@FreeBSD.org>2007-07-20 23:30:13 +0000
commit8db32e8a1ed746af220e5b0a1e06c8e3843893f0 (patch)
treeed5502bc3249ddd22e1a4f358ebad5cf82011ec5 /lib/ncurses
parent192b9573601035404375d85939b0e5cfd098f7a8 (diff)
downloadFreeBSD-src-8db32e8a1ed746af220e5b0a1e06c8e3843893f0.zip
FreeBSD-src-8db32e8a1ed746af220e5b0a1e06c8e3843893f0.tar.gz
Added environ-replacement detection. For programs that "clean" (i.e., su)
or replace (i.e., zdump) the environment after a call to setenv(), putenv() or unsetenv() has been made, a few changes were made. - getenv() will return the value from the new environ array. - setenv() was split into two functions: __setenv() which is most of the previous setenv() without checks on the name and setenv() which contains the checks before calling __setenv(). - setenv(), putenv() and unsetenv() will unset all previous values and call __setenv() on all entries in the new environ array which in turn adds them to the end of the envVars array. Calling __setenv() instead of setenv() is done to avoid the temporary replacement of the '=' in a string with a NUL byte. Some strings may be read-only data. Added more regression checks for clearing the environment array. Replaced gettimeofday() with getrusage() in timing regression check for better accuracy. Fixed an off-by-one bug in __remove_putenv() in the use of memmove(). This went unnoticed due to the allocation of double the number of environ entries when building envVars. Fixed a few spelling mistakes in the comments. Reviewed by: ache Approved by: wes Approved by: re (kensmith)
Diffstat (limited to 'lib/ncurses')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud