[Pkg-gnupg-commit] [gnupg2] 06/102: g10: Fix signature checking.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Fri Jun 17 00:14:49 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gnupg2.

commit 83a90a916e8e2f8e44c3b11d11e1dd75f65a87fb
Author: NIIBE Yutaka <gniibe at fsij.org>
Date:   Wed May 11 19:27:03 2016 +0900

    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 at fsij.org>
---
 g10/sig-check.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/g10/sig-check.c b/g10/sig-check.c
index 290f19a..7000b48 100644
--- a/g10/sig-check.c
+++ b/g10/sig-check.c
@@ -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.  */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list