Fix strange formatting by indent
[oweals/openssl.git] / crypto / pem / pem_pkey.c
index 7f33bf761a4c9640594ee06d61bf2be2a2c51e30..4da4c31ce5fa239f93c4bd68d1abfd09f2828fea 100644 (file)
@@ -105,8 +105,9 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, vo
                if (cb) klen=cb(psbuf,PEM_BUFSIZE,0,u);
                else klen=PEM_def_callback(psbuf,PEM_BUFSIZE,0,u);
                if (klen <= 0) {
-                       PEMerr(PEM_F_PEM_ASN1_READ_BIO,
+                       PEMerr(PEM_F_PEM_READ_BIO_PRIVATEKEY,
                                        PEM_R_BAD_PASSWORD_READ);
+                       X509_SIG_free(p8);
                        goto err;
                }
                p8inf = PKCS8_decrypt(p8, psbuf, klen);
@@ -121,9 +122,10 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, vo
        }
 p8err:
        if (ret == NULL)
-               PEMerr(PEM_F_PEM_ASN1_READ_BIO,ERR_R_ASN1_LIB);
+               PEMerr(PEM_F_PEM_READ_BIO_PRIVATEKEY,ERR_R_ASN1_LIB);
 err:
        OPENSSL_free(nm);
+       OPENSSL_cleanse(data, len);
        OPENSSL_free(data);
        return(ret);
        }
@@ -136,7 +138,7 @@ EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void
 
         if ((b=BIO_new(BIO_s_file())) == NULL)
                {
-               PEMerr(PEM_F_PEM_ASN1_READ,ERR_R_BUF_LIB);
+               PEMerr(PEM_F_PEM_READ_PRIVATEKEY,ERR_R_BUF_LIB);
                 return(0);
                }
         BIO_set_fp(b,fp,BIO_NOCLOSE);