From 3f76f4ccf7532625bb272e961cb87e64efaf8ed4 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 20 Nov 2018 10:21:08 +0100 Subject: [PATCH] BUG/MINOR: stream-int: Don't call snd_buf() if there are still data in the pipe In si_cs_send, as said in comments, snd_buf() should only be called if there is no data in the pipe anymore. But actually, this condition was not respected. --- src/stream_interface.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/stream_interface.c b/src/stream_interface.c index 017d1ef31..ca138cbef 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -626,6 +626,9 @@ int si_cs_send(struct conn_stream *cs) if (conn->flags & CO_FL_ERROR || cs->flags & CS_FL_ERROR) return 1; + + if (oc->pipe) + goto end; } /* At this point, the pipe is empty, but we may still have data pending