From 5781a9a2703e96b01587bb95ceebcc53f2cee91c Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 18 Apr 2017 17:57:43 -0400 Subject: xgethostname: handle long hostnames If the full hostname doesn't fit in the buffer supplied to gethostname, POSIX does not specify whether the buffer will be null-terminated, so to be safe, we should do it ourselves. Introduce new function, xgethostname, which ensures that there is always a \0 at the end of the buffer. Signed-off-by: David Turner Signed-off-by: Junio C Hamano --- ident.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ident.c') diff --git a/ident.c b/ident.c index 8ec0f25987..7e386a48fa 100644 --- a/ident.c +++ b/ident.c @@ -122,7 +122,7 @@ static void add_domainname(struct strbuf *out, int *is_bogus) { char buf[HOST_NAME_MAX + 1]; - if (gethostname(buf, sizeof(buf))) { + if (xgethostname(buf, sizeof(buf))) { warning_errno("cannot get host name"); strbuf_addstr(out, "(none)"); *is_bogus = 1; -- cgit v1.2.3