From 53ec551c87c731c5c4171e943842998bdfb5548e Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 27 Jan 2014 20:36:12 -0500 Subject: expand_user_path: do not look at NULL path We explicitly check for and handle the case that the incoming "path" variable is NULL, but before doing so we call strchrnul on it, leading to a potential segfault. We can fix this simply by moving the strchrnul call down; as a bonus, we can tighten the scope on the associated variable. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/path.c b/path.c index 6f2aa699ad..3a5796156b 100644 --- a/path.c +++ b/path.c @@ -231,12 +231,12 @@ static struct passwd *getpw_str(const char *username, size_t len) char *expand_user_path(const char *path) { struct strbuf user_path = STRBUF_INIT; - const char *first_slash = strchrnul(path, '/'); const char *to_copy = path; if (path == NULL) goto return_null; if (path[0] == '~') { + const char *first_slash = strchrnul(path, '/'); const char *username = path + 1; size_t username_len = first_slash - username; if (username_len == 0) { -- cgit v1.2.3