aboutsummaryrefslogtreecommitdiffstats
path: root/g10/import.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/import.c')
-rw-r--r--g10/import.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/g10/import.c b/g10/import.c
index 3b7fa5e72..81aa506a4 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -696,9 +696,6 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
pk = node->pkt->pkt.public_key;
- if(fpr)
- *fpr=fingerprint_from_pk(pk,NULL,fpr_len);
-
keyid_from_pk( pk, keyid );
uidnode = find_next_kbnode( keyblock, PKT_USER_ID );
@@ -981,6 +978,17 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
}
else if(new_key)
{
+ if(fpr && stats->imported==1)
+ {
+ xfree(*fpr);
+ *fpr=fingerprint_from_pk(pk,NULL,fpr_len);
+ }
+ else
+ {
+ xfree(*fpr);
+ *fpr=NULL;
+ }
+
revocation_present(keyblock);
if(seckey_available(keyid)==0)
check_prefs(keyblock);