use HOST_NAME_MAX to size buffers for gethostname(2)

POSIX limits the length of host names to HOST_NAME_MAX.  Export the
fallback definition from daemon.c and use this constant to make all
buffers used with gethostname(2) big enough for any possible result
and a terminating NUL.

Inspired-by: David Turner <dturner@twosigma.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: David Turner <dturner@twosigma.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe
2017-04-18 17:57:42 -04:00
committed by Junio C Hamano
parent c3808ca698
commit da25bdb776
6 changed files with 14 additions and 10 deletions

View File

@ -120,7 +120,7 @@ static int canonical_name(const char *host, struct strbuf *out)
static void add_domainname(struct strbuf *out, int *is_bogus)
{
char buf[1024];
char buf[HOST_NAME_MAX + 1];
if (gethostname(buf, sizeof(buf))) {
warning_errno("cannot get host name");