From 34f0ab58c13c92340202704594bee34976b18a18 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 14 Nov 2017 12:28:25 -0600 Subject: [PATCH] FS-10762: [freeswitch-core] Websocket logic error #resolve --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/tport/ws.c | 4 +++- src/mod/endpoints/mod_verto/ws.c | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 7465198045..0fbb6a3b65 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Mon Nov 13 13:48:40 CST 2017 +Tue Nov 14 12:28:03 CST 2017 diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/ws.c b/libs/sofia-sip/libsofia-sip-ua/tport/ws.c index 32fee259b4..834fa3c139 100644 --- a/libs/sofia-sip/libsofia-sip-ua/tport/ws.c +++ b/libs/sofia-sip/libsofia-sip-ua/tport/ws.c @@ -442,7 +442,9 @@ ssize_t ws_raw_write(wsh_t *wsh, void *data, size_t bytes) } if (r == -1) { - if ((ssl_err = SSL_get_error(wsh->ssl, r)) != SSL_ERROR_WANT_WRITE) { + ssl_err = SSL_get_error(wsh->ssl, r); + + if (ssl_err != SSL_ERROR_WANT_WRITE && ssl_err != SSL_ERROR_WANT_READ) { break; } ssl_err = 0; diff --git a/src/mod/endpoints/mod_verto/ws.c b/src/mod/endpoints/mod_verto/ws.c index 32fee259b4..834fa3c139 100644 --- a/src/mod/endpoints/mod_verto/ws.c +++ b/src/mod/endpoints/mod_verto/ws.c @@ -442,7 +442,9 @@ ssize_t ws_raw_write(wsh_t *wsh, void *data, size_t bytes) } if (r == -1) { - if ((ssl_err = SSL_get_error(wsh->ssl, r)) != SSL_ERROR_WANT_WRITE) { + ssl_err = SSL_get_error(wsh->ssl, r); + + if (ssl_err != SSL_ERROR_WANT_WRITE && ssl_err != SSL_ERROR_WANT_READ) { break; } ssl_err = 0; -- 2.47.2