getenv() returns a NULL pointer if the specified variable name cannot be
found in the environment. However, some setenv() implementations crash
if a NULL pointer is passed as second argument. Only restore variables
that are not NULL.
See commit
d96d2c98ebc4c2d3765f5b35c4142e0e828a421b for a related patch.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
init_display_notes(NULL);
/* We restore the unset variables afterward. */
- setenv("HOME", user_home, 1);
- setenv("XDG_CONFIG_HOME", xdg_home, 1);
+ if (user_home)
+ setenv("HOME", user_home, 1);
+ if (xdg_home)
+ setenv("XDG_CONFIG_HOME", xdg_home, 1);
if (nongit) {
const char *name = ctx->repo->name;