Don't try to print PBE information if it can't be decoded.
[openssl.git] / apps / pkcs12.c
index 781aeb373b9abd72fa729c19540986b9b4acd3aa..037aa3f011b014823d6345e18c7d6b20909f963f 100644 (file)
@@ -807,12 +807,14 @@ int alg_print (BIO *x, X509_ALGOR *alg)
        PBEPARAM *pbe;
        const unsigned char *p;
        p = alg->parameter->value.sequence->data;
-       pbe = d2i_PBEPARAM (NULL, &p, alg->parameter->value.sequence->length);
+       pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
+       if (!pbe)
+               return 1;
        BIO_printf (bio_err, "%s, Iteration %ld\n", 
                OBJ_nid2ln(OBJ_obj2nid(alg->algorithm)),
                ASN1_INTEGER_get(pbe->iter));
        PBEPARAM_free (pbe);
-       return 0;
+       return 1;
 }
 
 /* Load all certificates from a given file */