From 35b6e2301f59a98f833a8b6c14e514929c53b79a Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Fri, 28 Mar 2008 12:00:51 +0000 Subject: fixed crash if crl fetching fails --- src/charon/credentials/credential_manager.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/charon/credentials/credential_manager.c b/src/charon/credentials/credential_manager.c index 805bdbdf9..ac97f73a4 100644 --- a/src/charon/credentials/credential_manager.c +++ b/src/charon/credentials/credential_manager.c @@ -705,10 +705,13 @@ static cert_validation_t check_crl(private_credential_manager_t *this, while (enumerator->enumerate(enumerator, &uri)) { current = fetch_crl(this, uri); - best = get_better_crl(this, current, best, subject, issuer, &valid); - if (best && valid != VALIDATION_STALE) + if (current) { - break; + best = get_better_crl(this, current, best, subject, issuer, &valid); + if (best && valid != VALIDATION_STALE) + { + break; + } } } enumerator->destroy(enumerator); @@ -723,10 +726,13 @@ static cert_validation_t check_crl(private_credential_manager_t *this, while (enumerator->enumerate(enumerator, &uri)) { current = fetch_crl(this, uri); - best = get_better_crl(this, current, best, subject, issuer, &valid); - if (best && valid != VALIDATION_STALE) + if (current) { - break; + best = get_better_crl(this, current, best, subject, issuer, &valid); + if (best && valid != VALIDATION_STALE) + { + break; + } } } enumerator->destroy(enumerator); -- cgit v1.2.3