From 734d28eb1a46358743cf8837c91e5d46695c3b91 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 19 Oct 2013 18:20:03 +0200 Subject: [PATCH] ustream: properly clear fields to fix ustream reuse Signed-off-by: Felix Fietkau --- ustream.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ustream.c b/ustream.c index fd43395..dfbee1a 100644 --- a/ustream.c +++ b/ustream.c @@ -94,9 +94,6 @@ void ustream_free(struct ustream *s) uloop_timeout_cancel(&s->state_change); ustream_free_buffers(&s->r); ustream_free_buffers(&s->w); - s->write_error = false; - s->eof = false; - s->read_blocked = 0; } static void ustream_state_change_cb(struct uloop_timeout *t) @@ -131,6 +128,16 @@ void ustream_init_defaults(struct ustream *s) #undef DEFAULT_SET s->state_change.cb = ustream_state_change_cb; + s->write_error = false; + s->eof = false; + s->eof_write_done = false; + s->read_blocked = 0; + + s->r.buffers = 0; + s->r.data_bytes = 0; + + s->w.buffers = 0; + s->w.data_bytes = 0; } static bool ustream_should_move(struct ustream_buf_list *l, struct ustream_buf *buf, int len)