diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 7397a94cbfdfd4e97410741b188160d62c99ec9e..779cf04da598c89f85d6715566711c06dc4c3827 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -242,8 +242,10 @@ static ptrdiff_t js_socket_recv(js_socket_private_t *p, void *buf, size_t len, i ret = -1; if (status == CRYPT_ERROR_TIMEOUT) ret = 0; - else if (status != CRYPT_ERROR_COMPLETE) + else if (status != CRYPT_ERROR_COMPLETE) { GCES(ret, p, estr, "popping data"); + do_js_close(p, false); + } } } if (ret == -1) {