aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index b5948ff85..20bebf2ef 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -2314,25 +2314,25 @@ check_revocation_keys(PKT_public_key *pk,PKT_signature *sig)
(ulong)sig->keyid[1]); */
/* is the issuer of the sig one of our revokers? */
- for(i=0;i<pk->numrevkeys;i++)
- {
- u32 keyid[2];
-
- keyid_from_fingerprint(pk->revkey[i].fpr,MAX_FINGERPRINT_LEN,keyid);
-
- if(keyid[0]==sig->keyid[0] && keyid[1]==sig->keyid[1])
- {
- MD_HANDLE md;
-
- md=md_open(sig->digest_algo,0);
- hash_public_key(md,pk);
- if(signature_check(sig,md)==0)
- {
- rc=0;
- break;
- }
- }
- }
+ if( !pk->revkey && pk->numrevkeys )
+ BUG();
+ else
+ for(i=0;i<pk->numrevkeys;i++) {
+ u32 keyid[2];
+
+ keyid_from_fingerprint(pk->revkey[i].fpr,MAX_FINGERPRINT_LEN,keyid);
+
+ if(keyid[0]==sig->keyid[0] && keyid[1]==sig->keyid[1]) {
+ MD_HANDLE md;
+
+ md=md_open(sig->digest_algo,0);
+ hash_public_key(md,pk);
+ if(signature_check(sig,md)==0) {
+ rc=0;
+ break;
+ }
+ }
+ }
busy=0;