From 526cf60408e1a356ec712b6c88a88864fdbe73af Mon Sep 17 00:00:00 2001
From: luxinyou <luxinyou@uniontech.com>
Date: Mon, 7 Sep 2020 18:06:45 +1000
Subject: [PATCH 065/147] Fix memory leaks in conf_def.c

Fixes #12471
CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12533)

(cherry picked from commit 4348995b0d818203f37ffa51c9bdf4488cf24bad)
---
 crypto/conf/conf_def.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crypto/conf/conf_def.c b/crypto/conf/conf_def.c
index ca76fa3..72669b1 100644
--- a/crypto/conf/conf_def.c
+++ b/crypto/conf/conf_def.c
@@ -376,11 +376,13 @@ static int def_load_bio(CONF *conf, BIO *in, long *line)
                     if (biosk == NULL) {
                         if ((biosk = sk_BIO_new_null()) == NULL) {
                             CONFerr(CONF_F_DEF_LOAD_BIO, ERR_R_MALLOC_FAILURE);
+                            BIO_free(next);
                             goto err;
                         }
                     }
                     if (!sk_BIO_push(biosk, in)) {
                         CONFerr(CONF_F_DEF_LOAD_BIO, ERR_R_MALLOC_FAILURE);
+                        BIO_free(next);
                         goto err;
                     }
                     /* continue with reading from the included BIO */
-- 
1.8.3.1

