[Pkg-gnupg-commit] [gnupg2] 126/205: g10: Fix exporting secret keys of certain sizes.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed May 11 08:38:27 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 02cf1357dd5ee34a57371f55b9d312b8b9e3a7e8
Author: Justus Winter <justus at g10code.com>
Date:   Thu Apr 7 13:55:42 2016 +0200

    g10: Fix exporting secret keys of certain sizes.
    
    * g10/build-packet.c (do_key): Do not use the header length specified
    by the public key packet from the keyring, but let 'write_header2'
    compute the required length.
    --
    Specifically exporting RSA keys of length 1024 failed, as the encoded
    public key packet requires 141 bytes a length that fits into one byte,
    but the secret key is significantly larger, making the export fail.
    
    GnuPG-bug-id: 2307
    Signed-off-by: Justus Winter <justus at g10code.com>
---
 g10/build-packet.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/g10/build-packet.c b/g10/build-packet.c
index 40c466b..e244bda 100644
--- a/g10/build-packet.c
+++ b/g10/build-packet.c
@@ -486,7 +486,7 @@ do_key (iobuf_t out, int ctb, PKT_public_key *pk)
       /* Build the header of the packet - which we must do after
          writing all the other stuff, so that we know the length of
          the packet */
-      write_header2 (out, ctb, iobuf_get_temp_length(a), pk->hdrbytes);
+      write_header2 (out, ctb, iobuf_get_temp_length(a), 0);
        /* And finally write it out to the real stream. */
       err = iobuf_write_temp (out, a);
     }

-- 
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