diff options
author | Werner Koch <[email protected]> | 2001-06-16 11:09:29 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2001-06-16 11:09:29 +0000 |
commit | ae78aed6b619d45a1569e55c19c83d7af8a07534 (patch) | |
tree | 6055458777a9c22ce221bf7feff72cfd32d7f9d9 | |
parent | "$1" (diff) | |
download | gnupg-ae78aed6b619d45a1569e55c19c83d7af8a07534.tar.gz gnupg-ae78aed6b619d45a1569e55c19c83d7af8a07534.zip |
one debian bug fixed
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | g10/ChangeLog | 6 | ||||
-rw-r--r-- | g10/getkey.c | 11 |
3 files changed, 17 insertions, 1 deletions
@@ -50,6 +50,7 @@ Fabio Coatti [email protected] Felix von Leitner [email protected] fish stiqz [email protected] Florian Weimer [email protected] +Francesco Potorti [email protected] Frank Donahoe [email protected] Frank Heckenbach [email protected] Frank Stajano [email protected] diff --git a/g10/ChangeLog b/g10/ChangeLog index 03a52b153..af3e65bf7 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2001-06-15 Werner Koch <[email protected]> + + * getkey.c (merge_selfsigs): Exit gracefully when a secret key is + encountered. May happen if a secret key is in public keyring. + Reported by Francesco Potorti. + 2001-06-12 Werner Koch <[email protected]> * getkey.c (compare_name): Use ascii_memistr(), ascii_memcasecmp() diff --git a/g10/getkey.c b/g10/getkey.c index bd21f956f..96ab714b5 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1807,8 +1807,17 @@ merge_selfsigs( KBNODE keyblock ) int revoked; PKT_public_key *main_pk; - if ( keyblock->pkt->pkttype != PKT_PUBLIC_KEY ) + if ( keyblock->pkt->pkttype != PKT_PUBLIC_KEY ) { + if (keyblock->pkt->pkttype == PKT_SECRET_KEY ) { + log_error ("expected public key but found secret key " + "- must stop\n"); + /* we better exit here becuase a public key is expected at + other places too. FIXME: Figure this out earlier and + don't get to here at all */ + g10_exit (1); + } BUG (); + } merge_selfsigs_main ( keyblock, &revoked ); main_pk = keyblock->pkt->pkt.public_key; |