|  | @@ -1124,10 +1124,10 @@ static int get_crl_sk(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl,
 | 
	
		
			
				|  |  |          crl = sk_X509_CRL_value(crls, i);
 | 
	
		
			
				|  |  |          reasons = *preasons;
 | 
	
		
			
				|  |  |          crl_score = get_crl_score(ctx, &crl_issuer, &reasons, crl, x);
 | 
	
		
			
				|  |  | -        if (crl_score < best_score)
 | 
	
		
			
				|  |  | +        if (crl_score < best_score || crl_score == 0)
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |          /* If current CRL is equivalent use it if it is newer */
 | 
	
		
			
				|  |  | -        if (crl_score == best_score) {
 | 
	
		
			
				|  |  | +        if (crl_score == best_score && best_crl != NULL) {
 | 
	
		
			
				|  |  |              int day, sec;
 | 
	
		
			
				|  |  |              if (ASN1_TIME_diff(&day, &sec, X509_CRL_get_lastUpdate(best_crl),
 | 
	
		
			
				|  |  |                                 X509_CRL_get_lastUpdate(crl)) == 0)
 |