diff --git a/g10/sig-check.c b/g10/sig-check.c index 09d5a8b5f..2ee1ff5b2 100644 --- a/g10/sig-check.c +++ b/g10/sig-check.c @@ -943,7 +943,8 @@ check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key *signer, rc = get_pubkey_for_sig (ctrl, signer, sig, NULL); if (rc) { - xfree (signer); + if (signer_alloced != 1) + xfree (signer); signer = NULL; signer_alloced = 0; goto leave;