aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index fd8eb5b89..c902fbf36 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1192,6 +1192,12 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
/* first pass: find the latest direct key self-signature.
* We assume that the newest one overrides all others
*/
+
+ /* In case this key was already merged */
+ m_free(pk->revkey);
+ pk->revkey=NULL;
+ pk->numrevkeys=0;
+
signode = NULL;
sigdate = 0; /* helper to find the latest signature */
for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY; k = k->next ) {