git_exec_path: do not return the result of getenv()
commit007ac544011213045e3905983b4350ffec8f41f7
authorJeff King <peff@peff.net>
Mon, 9 Jan 2017 06:00:12 +0000 (9 01:00 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jan 2017 09:29:50 +0000 (9 01:29 -0800)
treea65a572c581f00418229920f40868af9b8c8a344
parentc9bb5d101ca657fa466afa8c4368c43ea7b7aca8
git_exec_path: do not return the result of getenv()

The result of getenv() is not guaranteed by POSIX to last
beyond another call to getenv(), or setenv(), etc.  We
should duplicate the string before returning to the caller
to avoid any surprises.

We already keep a cached pointer to avoid repeatedly leaking
the result of system_path(). We can use the same pointer
here to avoid allocating and leaking for each call.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
exec_cmd.c