[ccan] Test failure

Rusty Russell rusty at rustcorp.com.au
Mon Sep 4 10:51:45 AEST 2017


So many bugs in one example program!

There was an unrelated but which strace revealed (trying to write -7
bytes), but I think your issue was more prosaic: failing to zero the
from buffer.

Does this patch fix it for you?

Thanks!
Rusty.

diff --git a/ccan/io/_info b/ccan/io/_info
index fe49df5c..6e95e4ab 100644
--- a/ccan/io/_info
+++ b/ccan/io/_info
@@ -61,9 +61,10 @@
  * {
  * 	// Remove what we just wrote.
  * 	b->start += b->wlen;
+ *	b->wlen = 0;
  * 	assert(b->start <= sizeof(b->buf));
  *
- * 	// If we wrote something, wake writer.
+ * 	// If we wrote something, wake reader.
  * 	if (b->wlen != 0)
  * 		io_wake(b);
  *
@@ -114,6 +115,7 @@
  * 	io_new_conn(NULL, tochild[1], write_out, &to);
  *
  * 	// Read from child, write to stdout.
+ * 	memset(&from, 0, sizeof(from));
  * 	reader = io_new_conn(NULL, fromchild[0], read_in, &from);
  * 	io_set_finish(reader, finish, &from);
  * 	io_new_conn(NULL, STDOUT_FILENO, write_out, &from);



More information about the ccan mailing list