mirror of
git://git.gnupg.org/gnupg.git
synced 2024-09-20 14:51:42 +02:00
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:
parent
ac9ff644b1
commit
83a90a916e
@ -797,15 +797,20 @@ check_signature_over_key_or_uid (PKT_public_key *signer,
|
|||||||
*is_selfsig = 1;
|
*is_selfsig = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* See if one of the subkeys was the signer (although this is
|
|
||||||
extremely unlikely). */
|
|
||||||
{
|
{
|
||||||
kbnode_t ctx = NULL;
|
kbnode_t ctx = NULL;
|
||||||
kbnode_t n;
|
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]
|
if (sig->keyid[0] == subk->keyid[0]
|
||||||
&& sig->keyid[1] == subk->keyid[1])
|
&& sig->keyid[1] == subk->keyid[1])
|
||||||
/* Issued by a subkey. */
|
/* Issued by a subkey. */
|
||||||
|
Loading…
Reference in New Issue
Block a user