diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-04-09 23:05:42 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-04-09 23:05:42 +0200 |
commit | 18d9a4466ce1c622c13810e25ccf73ae937b1716 (patch) | |
tree | 563b91b6b2b19d31a786fb587737529c0c50e8c2 /nix/nix-daemon | |
parent | 9132b9bd72304e6fe659b3cb31700bdc49696caf (diff) | |
download | guix-18d9a4466ce1c622c13810e25ccf73ae937b1716.tar guix-18d9a4466ce1c622c13810e25ccf73ae937b1716.tar.gz |
daemon: Don't abort when $PATH is undefined.
* nix/nix-daemon/guix-daemon.cc (main): Check whether getenv ("PATH")
returns NULL before blindly initializing 'search_path'. Before that
'guix-daemon' would abort when run in an environment where 'PATH' is
undefined.
Diffstat (limited to 'nix/nix-daemon')
-rw-r--r-- | nix/nix-daemon/guix-daemon.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 71815169f7..0bb9f7559c 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -257,8 +257,14 @@ main (int argc, char *argv[]) /* Hackily help 'local-store.cc' find our 'guix-authenticate' program, which is known as 'OPENSSL_PATH' here. */ - std::string search_path (getenv ("PATH")); - search_path = settings.nixLibexecDir + ":" + search_path; + std::string search_path; + search_path = settings.nixLibexecDir; + if (getenv ("PATH") != NULL) + { + search_path += ":"; + search_path += getenv ("PATH"); + } + setenv ("PATH", search_path.c_str (), 1); /* Use our substituter by default. */ |