]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix a possible memory leak in ossl_x509_algor_md_to_mgf1
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sun, 10 Dec 2023 14:21:19 +0000 (15:21 +0100)
committerTomas Mraz <tomas@openssl.org>
Tue, 19 Dec 2023 17:33:03 +0000 (18:33 +0100)
Add a missing check of the return code of X509_ALGOR_set0.
otherwise a memory leak may occur.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22999)

crypto/asn1/x_algor.c

index c0a5f76803ee599209d9c28c17e2340cd49faa00..2c4a8d4b4ee8b9f237ca7a1d51c6eba10ecdee4c 100644 (file)
@@ -179,7 +179,11 @@ int ossl_x509_algor_md_to_mgf1(X509_ALGOR **palg, const EVP_MD *mgf1md)
     *palg = X509_ALGOR_new();
     if (*palg == NULL)
         goto err;
-    X509_ALGOR_set0(*palg, OBJ_nid2obj(NID_mgf1), V_ASN1_SEQUENCE, stmp);
+    if (!X509_ALGOR_set0(*palg, OBJ_nid2obj(NID_mgf1), V_ASN1_SEQUENCE, stmp)) {
+        X509_ALGOR_free(*palg);
+        *palg = NULL;
+        goto err;
+    }
     stmp = NULL;
  err:
     ASN1_STRING_free(stmp);