diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-07-26 10:06:51 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-07-27 10:58:46 -0700 |
commit | 79bf149061fa29482512d903192a0d929e82872b (patch) | |
tree | 2eab8bb4dec251568078a3c8074bbdecc8b45c67 /path.c | |
parent | 28bf4ba014c9b41679f41580fa9e1cc294b240d9 (diff) | |
download | git-79bf149061fa29482512d903192a0d929e82872b.tar.gz |
config --get --path: check for unset $HOME
If $HOME is unset (as in some automated build situations),
currently
git config --path path.home "~"
git config --path --get path.home
segfaults. Error out with
Failed to expand user dir in: '~/'
instead.
Reported-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'path.c')
-rw-r--r-- | path.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -316,6 +316,8 @@ char *expand_user_path(const char *path) size_t username_len = first_slash - username; if (username_len == 0) { const char *home = getenv("HOME"); + if (!home) + goto return_null; strbuf_add(&user_path, home, strlen(home)); } else { struct passwd *pw = getpw_str(username, username_len); |