]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Check previously-unchecked buf_alloc_write() call in crypto self-test.
authorGert Doering <gert@greenie.muc.de>
Tue, 8 Nov 2016 09:17:12 +0000 (10:17 +0100)
committerGert Doering <gert@greenie.muc.de>
Tue, 8 Nov 2016 10:15:14 +0000 (11:15 +0100)
"It cannot be NULL", but since this is self-test infrastructure, assume
the worst - add ASSERT() check to ensure assumptions are true.

Found by Coverity.

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Message-Id: <1478596632-22842-1-git-send-email-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg12940.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/crypto.c

index 6e1e46bd1c128a2b80b52aa885d154bb281fce16..0212450be8a5a2c775113b7840e3e3dadb846157 100644 (file)
@@ -1028,6 +1028,7 @@ test_crypto (struct crypto_options *co, struct frame* frame)
   struct buffer encrypt_workspace = alloc_buf_gc (BUF_SIZE (frame), &gc);
   struct buffer decrypt_workspace = alloc_buf_gc (BUF_SIZE (frame), &gc);
   struct buffer buf = clear_buf();
+  void *buf_p;
 
   /* init work */
   ASSERT (buf_init (&work, FRAME_HEADROOM (frame)));
@@ -1073,7 +1074,9 @@ test_crypto (struct crypto_options *co, struct frame* frame)
 
       /* copy source to input buf */
       buf = work;
-      memcpy (buf_write_alloc (&buf, BLEN (&src)), BPTR (&src), BLEN (&src));
+      buf_p = buf_write_alloc (&buf, BLEN (&src));
+      ASSERT(buf_p);
+      memcpy (buf_p, BPTR (&src), BLEN (&src));
 
       /* initialize work buffer with FRAME_HEADROOM bytes of prepend capacity */
       ASSERT (buf_init (&encrypt_workspace, FRAME_HEADROOM (frame)));