Do CRL method init after other operations.
authorDr. Stephen Henson <steve@openssl.org>
Thu, 21 Sep 2006 12:48:56 +0000 (12:48 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 21 Sep 2006 12:48:56 +0000 (12:48 +0000)
crypto/asn1/x_crl.c

index 266c497f33d4042285b0958220de0cb90cd304d1..0c4dd554c7efcf08db88aa0dfcd75cc1c752c3c7 100644 (file)
@@ -137,8 +137,6 @@ static int crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
 
                crl->akid = X509_CRL_get_ext_d2i(crl,
                                NID_authority_key_identifier, NULL, NULL);      
 
                crl->akid = X509_CRL_get_ext_d2i(crl,
                                NID_authority_key_identifier, NULL, NULL);      
-               if (crl->meth && crl->meth->crl_init)
-                       return crl->meth->crl_init(crl);
 
                /* See if we have any unhandled critical CRL extensions and 
                 * indicate this in a flag. We only currently handle IDP so
 
                /* See if we have any unhandled critical CRL extensions and 
                 * indicate this in a flag. We only currently handle IDP so
@@ -163,6 +161,8 @@ static int crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
                                break;
                                }
                        }
                                break;
                                }
                        }
+               if (crl->meth && crl->meth->crl_init)
+                       return crl->meth->crl_init(crl);
                break;
 
                case ASN1_OP_FREE_POST:
                break;
 
                case ASN1_OP_FREE_POST: