Plug leak of BIO in tls13_quic_init()
authortb <tb@openbsd.org>
Tue, 30 Aug 2022 18:23:40 +0000 (18:23 +0000)
committertb <tb@openbsd.org>
Tue, 30 Aug 2022 18:23:40 +0000 (18:23 +0000)
If rbio and wbio are the same, SSL_free() only frees one BIO, so the
BIO_up_ref() before SSL_set_bio() leads to a leak.

ok jsing

lib/libssl/tls13_quic.c

index 92bbb01..bb7317d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: tls13_quic.c,v 1.5 2022/08/27 09:12:55 jsing Exp $ */
+/*     $OpenBSD: tls13_quic.c,v 1.6 2022/08/30 18:23:40 tb Exp $ */
 /*
  * Copyright (c) 2022 Joel Sing <jsing@openbsd.org>
  *
@@ -175,7 +175,6 @@ tls13_quic_init(struct tls13_ctx *ctx)
        if ((bio = BIO_new(BIO_s_null())) == NULL)
                return 0;
 
-       BIO_up_ref(bio);
        SSL_set_bio(ctx->ssl, bio, bio);
        bio = NULL;