Fix memory leak on bad inputs.
[openssl.git] / crypto / asn1 / x_name.c
index 063bf7c16bfbe0490aa6c9d6aaf7a180be6b8173..49be08b4daab7d43ba4ccaebd5f164e261264cd9 100644 (file)
@@ -214,7 +214,9 @@ static int x509_name_ex_d2i(ASN1_VALUE **val,
        *val = nm.a;
        *in = p;
        return ret;
        *val = nm.a;
        *in = p;
        return ret;
-       err:
+err:
+        if (nm.x != NULL)
+               X509_NAME_free(nm.x);
        ASN1err(ASN1_F_X509_NAME_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
        return 0;
 }
        ASN1err(ASN1_F_X509_NAME_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
        return 0;
 }