* build-packet.c (mpi_write): Made buffer a bit larger. Reported
authorWerner Koch <wk@gnupg.org>
Mon, 16 Apr 2007 18:57:23 +0000 (18:57 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 16 Apr 2007 18:57:23 +0000 (18:57 +0000)
by Alexander Feigl.

g10/ChangeLog
g10/build-packet.c

index bbd9699..c8ce0c9 100644 (file)
@@ -1,3 +1,8 @@
+2007-04-16  Werner Koch  <wk@g10code.com>
+
+       * build-packet.c (mpi_write): Made buffer a bit larger.  Reported
+       by Alexander Feigl.
+
 2007-04-13  Werner Koch  <wk@g10code.com>
 
        * call-agent.c (start_agent): Don't use log_error when using the
index 3664b8e..e6c9734 100644 (file)
@@ -157,11 +157,11 @@ build_packet( IOBUF out, PACKET *pkt )
 static int
 mpi_write (iobuf_t out, gcry_mpi_t a)
 {
-  char buffer[(MAX_EXTERN_MPI_BITS+7)/8];
+  char buffer[(MAX_EXTERN_MPI_BITS+7)/8+2]; /* 2 is for the mpi length. */
   size_t nbytes;
   int rc;
 
-  nbytes = (MAX_EXTERN_MPI_BITS+7)/8 + 2; /* 2 is for the mpi length. */
+  nbytes = DIM(buffer);
   rc = gcry_mpi_print (GCRYMPI_FMT_PGP, buffer, nbytes, &nbytes, a );
   if( !rc )
     rc = iobuf_write( out, buffer, nbytes );