g10: Fix signature checking.

* g10/sig-check.c (check_signature_over_key_or_uid): Fix call to
walk_kbnode.

--

Thanks to Vincent Brillault (Feandil).

GnuPG-bug-id: 2351
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2016-05-11 19:27:03 +09:00
parent ac9ff644b1
commit 83a90a916e
1 changed files with 9 additions and 4 deletions

View File

@ -797,15 +797,20 @@ check_signature_over_key_or_uid (PKT_public_key *signer,
*is_selfsig = 1;
}
else
/* See if one of the subkeys was the signer (although this is
extremely unlikely). */
{
kbnode_t ctx = NULL;
kbnode_t n;
while ((n = walk_kbnode (kb, &ctx, PKT_PUBLIC_SUBKEY)))
/* See if one of the subkeys was the signer (although this
is extremely unlikely). */
while ((n = walk_kbnode (kb, &ctx, 0)))
{
PKT_public_key *subk = n->pkt->pkt.public_key;
PKT_public_key *subk;
if (n->pkt->pkttype != PKT_PUBLIC_SUBKEY)
continue;
subk = n->pkt->pkt.public_key;
if (sig->keyid[0] == subk->keyid[0]
&& sig->keyid[1] == subk->keyid[1])
/* Issued by a subkey. */