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> 2017-09-06 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #18858] [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 the file is empty, give an empty value. */
if (nread == 0) if (nread == 0 && more == 0)
{ {
if (buflen != 0) if (buflen != 0)
*buf = '\0'; *buf = '\0';
@ -80,7 +80,7 @@ _hurd_get_host_config (const char *item, char *buf, size_t buflen)
if (nread < buflen) if (nread < buflen)
buf[nread] = '\0'; buf[nread] = '\0';
else else
if (buf[nread - 1] != '\0') if (nread != 0 && buf[nread - 1] != '\0')
more = 1; more = 1;
if (more) if (more)