[git] GnuPG - branch, STABLE-BRANCH-1-4, updated. gnupg-1.4.21-5-gbb61191

by Werner Koch cvs at cvs.gnupg.org
Thu Mar 30 11:04:16 CEST 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, STABLE-BRANCH-1-4 has been updated
       via  bb61191aad98c3dbb487c1f76dd1552d44a52fe3 (commit)
      from  23944d0249b7a6dc854dcc8b0c7c74cd46b1341e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit bb61191aad98c3dbb487c1f76dd1552d44a52fe3
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Mar 30 10:35:20 2017 +0200

    gpg: Fix exporting of zero length user ID packets.
    
    * g10/build-packet.c (do_user_id): Avoid indeterminate length header.
    --
    
    We are able to import such user ids but when exporting them the
    exported data could not be imported again because the parser bails out
    on invalid keyrings.  This is now fixed and should be backported.
    
    Note that in 1.4 and 2.0 this is only an issue for attribute packets.
    In 2.1 user IDs were also affected.a
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/g10/build-packet.c b/g10/build-packet.c
index 028d064..2e9dfa4 100644
--- a/g10/build-packet.c
+++ b/g10/build-packet.c
@@ -204,7 +204,12 @@ do_user_id( IOBUF out, int ctb, PKT_user_id *uid )
 {
     if( uid->attrib_data )
       {
-	write_header(out, ctb, uid->attrib_len);
+        /* We need to take special care of a user ID with a length of 0:
+         * Without forcing HDRLEN to 2 in this case an indeterminate length
+         * packet would be written which is not allowed.  Note that we are
+         * always called with a CTB indicating an old packet header format,
+         * so that forcing a 2 octet header works.  */
+	write_header2(out, ctb, uid->attrib_len, (uid->attrib_len? 0 : 2));
 	if( iobuf_write( out, uid->attrib_data, uid->attrib_len ) )
 	  return G10ERR_WRITE_FILE;
       }

-----------------------------------------------------------------------

Summary of changes:
 g10/build-packet.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list