From: Matt Caswell Date: Mon, 30 Oct 2023 16:30:35 +0000 (+0000) Subject: Stop the quicserver if the handshake or receiving the request fails X-Git-Tag: openssl-3.3.0-alpha1~706 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddf84fc47e3a01047e2a4001289143cc689eed84;p=thirdparty%2Fopenssl.git Stop the quicserver if the handshake or receiving the request fails Previously we entered an infinite loop if these things failed. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/22557) --- diff --git a/util/quicserver.c b/util/quicserver.c index fd9f9399bd6..b80a5ce21a9 100644 --- a/util/quicserver.c +++ b/util/quicserver.c @@ -231,6 +231,11 @@ int main(int argc, char *argv[]) while(!ossl_quic_tserver_is_handshake_confirmed(qtserv)) { wait_for_activity(qtserv); ossl_quic_tserver_tick(qtserv); + if (ossl_quic_tserver_is_terminated(qtserv)) { + BIO_printf(bio_err, "Failed waiting for handshake completion\n"); + ret = EXIT_FAILURE; + goto end; + } } for (;; respnum++) { @@ -257,6 +262,11 @@ int main(int argc, char *argv[]) wait_for_activity(qtserv); ossl_quic_tserver_tick(qtserv); + if (ossl_quic_tserver_is_terminated(qtserv)) { + BIO_printf(bio_err, "Failed reading request\n"); + ret = EXIT_FAILURE; + goto end; + } if (ossl_quic_tserver_read(qtserv, streamid, reqbuf + reqbytes, sizeof(reqbuf) - reqbytes,