g10: Fix double free when locating by mbox master
authorAndre Heinecke <aheinecke@intevation.de>
Thu, 18 Apr 2019 11:19:05 +0000 (13:19 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Thu, 18 Apr 2019 12:24:58 +0000 (14:24 +0200)
commite57954ed278cb5e6e725005b1ecaf7ce70006ce0
treeb2a969fa3272e4a581d92866c08cf4afc651dbd5
parenta861f9343d6e6d18064e4e54aeb914c5a10b2095
g10: Fix double free when locating by mbox

* g10/getkey.c (get_best_pubkey_byname): Set new.uid always
to NULL after use.

--
pubkey_cmp is not guranteed to set new.uid.
So if the diff < 0 case is reached best is set to new.

If then diff > 0 is reached without modifying new.uid
e.g. if the key has no matching mboxes. new.uid is
free'd even though the uid is still referenced in
best.

GnuPG-Bug-Id: T4462
g10/getkey.c