gpg: Fix calc_header_length when LEN is 0 and improve documentation.
authorNeal H. Walfield <neal@g10code.com>
Tue, 2 Feb 2016 19:05:45 +0000 (20:05 +0100)
committerNeal H. Walfield <neal@g10code.com>
Sun, 14 Feb 2016 13:46:24 +0000 (14:46 +0100)
* g10/build-packet.c (calc_header_length): Return the correct haeder
size when LEN is 0.  Fix documentation.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
GnuPG-bug-id: 2240

g10/build-packet.c

index 269c63c..4245208 100644 (file)
@@ -1215,14 +1215,18 @@ write_32(IOBUF out, u32 a)
 
 
 /****************
- * calculate the length of a header
+ * calculate the length of a header.
+ *
+ * LEN is the length of the packet's body.  NEW_CTB is whether we are
+ * using a new or old format packet.
+ *
+ * This function does not handle indeterminate lengths or partial body
+ * lengths.  (If you pass LEN as 0, then this function assumes you
+ * really mean an empty body.)
  */
 static int
 calc_header_length( u32 len, int new_ctb )
 {
-    if( !len )
-       return 1; /* only the ctb */
-
     if( new_ctb ) {
        if( len < 192 )
            return 2;