Some bug fixes of the last release
[gnupg.git] / g10 / comment.c
index 77b9a7e..71d524c 100644 (file)
@@ -44,9 +44,17 @@ write_comment( IOBUF out, const char *s )
     int rc=0;
 
     pkt.pkttype = PKT_COMMENT;
-    pkt.pkt.comment = m_alloc( sizeof *pkt.pkt.comment + n - 1 );
-    pkt.pkt.comment->len = n;
-    strcpy(pkt.pkt.comment->data, s);
+    if( *s != '#' ) {
+       pkt.pkt.comment = m_alloc( sizeof *pkt.pkt.comment + n );
+       pkt.pkt.comment->len = n+1;
+       *pkt.pkt.comment->data = '#';
+       strcpy(pkt.pkt.comment->data+1, s);
+    }
+    else {
+       pkt.pkt.comment = m_alloc( sizeof *pkt.pkt.comment + n - 1 );
+       pkt.pkt.comment->len = n;
+       strcpy(pkt.pkt.comment->data, s);
+    }
     if( (rc = build_packet( out, &pkt )) )
        log_error("build_packet(comment) failed: %s\n", g10_errstr(rc) );
     free_packet( &pkt );
@@ -79,9 +87,6 @@ make_mpi_comment_node( const char *s, MPI a )
 
     nb1 = mpi_get_nbits( a );
     p = buf = mpi_get_buffer( a, &n1, NULL );
-    for( ; !*p && n1; p++, n1-- )  /* skip leading null bytes */
-       ;
-
     pkt = m_alloc_clear( sizeof *pkt );
     pkt->pkttype = PKT_COMMENT;
     pkt->pkt.comment = m_alloc( sizeof *pkt->pkt.comment + n + 2 + n1 );