shared.c: Only setenv() if value is non-null

Some setenv() implementations (e.g. the one in OpenBSD's stdlib)
segfault if we pass a NULL value. Only set environment variables if the
corresponding settings are defined to avoid this.

Note that this is a minor behaviour change as environment variables were
supposed to be set to an empty string if a setting was undefined. Given
that this feature isn't part of any official release yet, there's no
need to worry about backwards compatibility, really. Change the
documentation accordingly.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2011-09-14 11:52:43 +02:00
zatwierdzone przez Lars Hjemli
rodzic 8185169e5e
commit d96d2c98eb
2 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -500,7 +500,7 @@ Also, all filters are handed the following environment variables:
If a setting is not defined for a repository and the corresponding global
setting is also not defined (if applicable), then the corresponding
environment variable will be an empty string.
environment variable will be unset.
MACRO EXPANSION