From: Anthony Minessale Date: Tue, 14 Nov 2017 18:28:25 +0000 (-0600) Subject: FS-10762: [freeswitch-core] Websocket logic error #resolve X-Git-Tag: v1.8.1~3^2~206 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34f0ab58c13c92340202704594bee34976b18a18;p=thirdparty%2Ffreeswitch.git FS-10762: [freeswitch-core] Websocket logic error #resolve --- 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;