possible bug with --batch and 1.4.2

David Shaw dshaw at jabberwocky.com
Thu Aug 4 22:24:01 CEST 2005


On Thu, Aug 04, 2005 at 10:01:52PM +0200, Tobias Roth wrote:
> On Thu, 4 Aug 2005 09:07:24 -0400
> David Shaw <dshaw at jabberwocky.com> wrote:
> 
> > > I tried out the --batch example from the DETAILS file (search for
> > > 'foo' in that file to find the example). This is what I got:
> > > 
> > > Assertion failed: (pkt->pkt.generic), function build_packet, file
> > > build-packet.c , line 74.
> > > 
> > > The same example seems to work with 1.4.1. The systems tested are
> > > FreeBSD 5.4-STABLE and 6.0-BETA1, I was not able to test on a
> > > different system, so I cannot say if this is OS specific.
> > 
> > Try this patch.
> 
> The patch doesn't apply, it's off by too many lines. After fixing this
> however, I can't link because xmalloc_clear is not known. After adding
> a dummy #define for xmalloc_clear in include/memory.h, things work out
> fine. Thanks!
> 
> What's the next version that will include this fix? Should I notify the
> FreeBSD GnuPG port maintainer so he can add this patch to the 1.4.2
> port until the next version will be released?

This will be fixed in 1.4.3.  Here is a patch against 1.4.2 without
all the fuzz.

David
-------------- next part --------------
Index: keygen.c
===================================================================
--- keygen.c	(revision 3850)
+++ keygen.c	(working copy)
@@ -2688,7 +2688,14 @@
   PACKET *pkt;
 
   pkt=m_alloc_clear(sizeof(*pkt));
-  pkt->pkttype=PKT_NONE;
+
+  /* We're not acually using a user ID here - this is just an
+     arbitrary choice.  We delete it anyway. */
+
+  pkt->pkttype=PKT_USER_ID;
+  pkt->pkt.user_id=m_alloc_clear(sizeof *pkt->pkt.user_id);
+  pkt->pkt.user_id->ref=1;
+
   *tree=new_kbnode(pkt);
   delete_kbnode(*tree);
 }


More information about the Gnupg-devel mailing list