hurd: fix gethostname(NULL, 0)

* hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
	before assuming that the file is empty.  Avoid testing buffer content
	when nread == 0.
This commit is contained in:
Samuel Thibault 2017-09-07 00:51:17 +02:00
parent 7bbbb4b9f7
commit 507fe02799
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2017-09-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
before assuming that the file is empty. Avoid testing buffer content
when nread == 0.
2017-09-06 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #18858]

View File

@ -65,7 +65,7 @@ _hurd_get_host_config (const char *item, char *buf, size_t buflen)
}
/* If the file is empty, give an empty value. */
if (nread == 0)
if (nread == 0 && more == 0)
{
if (buflen != 0)
*buf = '\0';
@ -80,7 +80,7 @@ _hurd_get_host_config (const char *item, char *buf, size_t buflen)
if (nread < buflen)
buf[nread] = '\0';
else
if (buf[nread - 1] != '\0')
if (nread != 0 && buf[nread - 1] != '\0')
more = 1;
if (more)