The buffer holding the results for gethostname now contains
HOST_NAME_MAX + 1 characters so it may contain hostnames at
HOST_NAME_MAX printable characters and a terminating null.
Prior to this change, the buffer could only accomodate hostnames
of HOST_NAME_MAX - 1 characters.
If you had a hostname that was HOST_NAME_MAX (64 characters on Linux)
with the old buffer, the call to gethostname(...) would succeed but truncate
the hostname (the truncation behavior is not fully specified, according to
the GETHOSTNAME(2) man page). On my platform, this led to a zero length
hostname which caused subsequent failures.
The buffer holding the results for gethostname now contains HOST_NAME_MAX + 1 characters so it may contain hostnames at HOST_NAME_MAX printable characters and a terminating null.
Prior to this change, the buffer could only accomodate hostnames of HOST_NAME_MAX - 1 characters.
If you had a hostname that was HOST_NAME_MAX (64 characters on Linux) with the old buffer, the call to gethostname(...) would succeed but truncate the hostname (the truncation behavior is not fully specified, according to the GETHOSTNAME(2) man page). On my platform, this led to a zero length hostname which caused subsequent failures.