From: Joshua Rogers Date: Sat, 11 Oct 2025 12:25:46 +0000 (+0800) Subject: asn_mime: Harden multi_split() against pushing NULL if a section is empty X-Git-Tag: 4.0-PRE-CLANG-FORMAT-WEBKIT~187 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50295c9c4ce890b44f7f308b83dbcb6107190c51;p=thirdparty%2Fopenssl.git asn_mime: Harden multi_split() against pushing NULL if a section is empty Signed-off-by: Joshua Rogers Reviewed-by: Saša Nedvědický Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/28881) --- diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c index c9bdfd98c84..f3511fedd7d 100644 --- a/crypto/asn1/asn_mime.c +++ b/crypto/asn1/asn_mime.c @@ -669,6 +669,12 @@ static int multi_split(BIO *bio, int flags, const char *bound, STACK_OF(BIO) **r first = 1; part++; } else if (state == 2) { + if (bpart == NULL) { + bpart = BIO_new(BIO_s_mem()); + if (bpart == NULL) + return 0; + BIO_set_mem_eof_return(bpart, 0); + } if (!sk_BIO_push(parts, bpart)) { BIO_free(bpart); return 0;