diff --git a/src/util/bio.c b/src/util/bio.c index 70620aea7..2d1be2238 100644 --- a/src/util/bio.c +++ b/src/util/bio.c @@ -567,7 +567,10 @@ GNUNET_BIO_write_close (struct GNUNET_BIO_WriteHandle *h, char **emsg) { case IO_FILE: if (NULL == h->fd) - return GNUNET_SYSERR; + { + err = GNUNET_SYSERR; + break; + } if (GNUNET_OK != GNUNET_BIO_flush (h)) { if (NULL != emsg) diff --git a/src/util/test_bio.c b/src/util/test_bio.c index 90f0121d4..8dadb8108 100644 --- a/src/util/test_bio.c +++ b/src/util/test_bio.c @@ -68,6 +68,7 @@ test_normal_rw (void) GNUNET_assert (GNUNET_OK == GNUNET_BIO_read_close (rh, NULL)); GNUNET_assert (0 == strcmp (TESTSTRING, rString)); GNUNET_assert (wNum == rNum); + GNUNET_free (rString); GNUNET_assert (GNUNET_OK == GNUNET_DISK_directory_remove (filename)); GNUNET_free (filename); @@ -89,6 +90,7 @@ test_normal_rw (void) GNUNET_assert (GNUNET_OK == GNUNET_BIO_read_close (rh, NULL)); GNUNET_assert (0 == strcmp (TESTSTRING, rString)); GNUNET_assert (wNum == rNum); + GNUNET_free (rString); GNUNET_free (buffer);