Hi Vyom,

> I think, it is intentional to handle case where return "hostname" is to large 
> to
> fit in  array.  if you see the man page(http://man7.org/linux/man-
> pages/man2/gethostname.2.html) it says that it is unspecified whether
> returned buffer includes a terminating null byte.
> 
> current code will put null in case of large "hostname", What do you think ?

yes, I had read the man page and saw this point of the spec. But exactly for 
this purpose there's this code:

// make sure string is null-terminated
hostname[NI_MAXHOST] = '\0';

If we only hand 'NI_MAXHOST' as size value into gethostname, then the function 
might only write NI_MAXHOST - 1 characters of the hostname into the buffer.

Best regards
Christoph

Reply via email to