diff options
Diffstat (limited to 'g10/getkey.c')
-rw-r--r-- | g10/getkey.c | 6 |
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 ) { |