common: Avoid undefined behavior.
authorJustus Winter <justus@g10code.com>
Thu, 30 Mar 2017 13:44:35 +0000 (15:44 +0200)
committerJustus Winter <justus@g10code.com>
Thu, 30 Mar 2017 14:13:43 +0000 (16:13 +0200)
* common/iobuf.c (iobuf_read_line): Do not consider 'length' if
'buffer' is NULL.

Signed-off-by: Justus Winter <justus@g10code.com>
common/iobuf.c

index db66a7f..5a9fd7c 100644 (file)
@@ -2552,7 +2552,7 @@ iobuf_read_line (iobuf_t a, byte ** addr_of_buffer,
      NUL character in the buffer.  This requires at least 2 bytes.  We
      don't complicate the code by handling the stupid corner case, but
      simply assert that it can't happen.  */
-  assert (length >= 2 || maxlen >= 2);
+  assert (!buffer || length >= 2 || maxlen >= 2);
 
   if (!buffer || length <= 1)
     /* must allocate a new buffer */