From 0c2f386bebdf894ed4fc2ea46f9a9c0055e6d63b Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Sat, 22 Jun 2019 08:45:45 +0100 Subject: [PATCH] websocket: Fix updating remaining bytes to write in websocket_write "len" is not always the full remainder (consider the case when we are writing a partial frame). Signed-off-by: Frediano Ziglio Acked-by: Jeremy White --- server/websocket.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/server/websocket.c b/server/websocket.c index afb7502a..dda71f76 100644 --- a/server/websocket.c +++ b/server/websocket.c @@ -478,10 +478,8 @@ int websocket_write(RedsWebSocket *ws, const void *buf, size_t len) } rc = ws->raw_write(ws->raw_stream, buf, len); - if (rc <= 0) { - ws->write_remainder = len; - } else { - ws->write_remainder = len - rc; + if (rc > 0) { + ws->write_remainder -= rc; } return rc; }