Corrected OPENSSL_NO_EC_NISTP_64_GCC_128 usage in ec_lcl.h. PR#3370
[oweals/openssl.git] / crypto / pkcs12 / p12_kiss.c
index 10ee5e7b945bf5341a0fb58a656d334237ee97d8..c9b7ab61d1bd93b8216332ce270f197ce1b5094a 100644 (file)
@@ -81,7 +81,7 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
             STACK_OF(X509) **ca)
 {
        STACK_OF(X509) *ocerts = NULL;
-       X509 *x;
+       X509 *x = NULL;
        /* Check for NULL PKCS12 structure */
 
        if(!p12)
@@ -167,7 +167,7 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
        if (cert && *cert)
                X509_free(*cert);
        if (x)
-               X509_free(*cert);
+               X509_free(x);
        if (ocerts)
                sk_X509_pop_free(ocerts, X509_free);
        return 0;
@@ -269,7 +269,7 @@ static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen,
                        int len, r;
                        unsigned char *data;
                        len = ASN1_STRING_to_UTF8(&data, fname);
-                       if(len > 0) {
+                       if(len >= 0) {
                                r = X509_alias_set1(x509, data, len);
                                OPENSSL_free(data);
                                if (!r)