Don't output bogus errors in PKCS12_parse
[openssl.git] / crypto / pkcs12 / p12_kiss.c
index a70fe72d09329a311dd2000022083e7acc89b847..fdddffbab41c5f39d9dec52aa2dcc30f8c2fdbe7 100644 (file)
@@ -135,10 +135,12 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
 
     while ((x = sk_X509_pop(ocerts))) {
         if (pkey && *pkey && cert && !*cert) {
 
     while ((x = sk_X509_pop(ocerts))) {
         if (pkey && *pkey && cert && !*cert) {
+            ERR_set_mark();
             if (X509_check_private_key(x, *pkey)) {
                 *cert = x;
                 x = NULL;
             }
             if (X509_check_private_key(x, *pkey)) {
                 *cert = x;
                 x = NULL;
             }
+            ERR_pop_to_mark();
         }
 
         if (ca && x) {
         }
 
         if (ca && x) {