]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
crypto.c: fix Visual Studio build
authorLev Stipakov <lev@openvpn.net>
Thu, 18 Jul 2019 09:35:03 +0000 (12:35 +0300)
committerGert Doering <gert@greenie.muc.de>
Sun, 28 Jul 2019 20:07:31 +0000 (22:07 +0200)
Commit fb4e8ab added variable-length array which
is C99 feature and is not supported by Visual Studio.

This removes VLA and writes data directly into passed buffer.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Message-Id: <1563442503-11119-1-git-send-email-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg18676.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/crypto.c

index 69877d1ddfd2b4db43515b4c122686512ccef4c6..8bf33e7b17f761a0dc1c9faefcf9859d5035e543 100644 (file)
@@ -1895,14 +1895,18 @@ cleanup:
 bool
 generate_ephemeral_key(struct buffer *key, const char *key_name)
 {
+    const int len = BCAP(key);
+
     msg(M_INFO, "Using random %s.", key_name);
-    uint8_t rand[BCAP(key)];
-    if (!rand_bytes(rand, BCAP(key)))
+
+    if (!rand_bytes(BEND(key), len))
     {
         msg(M_WARN, "ERROR: could not generate random key");
         return false;
     }
-    buf_write(key, rand, BCAP(key));
+
+    buf_inc_len(key, len);
+
     return true;
 }