The created pair was not freed if ring buf init failed.
Fixes: 3a857b953216 "Implement BIO_s_dgram_mem() reusing the BIO_s_dgram_pair() code"
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 08:09:14 2026
(Merged from https://github.com/openssl/openssl/pull/31121)
b = bio->ptr;
if (ring_buf_init(&b->rbuf, b->req_buf_len) == 0) {
+ dgram_pair_free(bio);
ERR_raise(ERR_LIB_BIO, ERR_R_BIO_LIB);
return 0;
}