Hi, On 18/07/2019 11:35, Lev Stipakov wrote: > From: Lev Stipakov <l...@openvpn.net> > > 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 <l...@openvpn.net> > --- > src/openvpn/crypto.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/src/openvpn/crypto.c b/src/openvpn/crypto.c > index 69877d1..8bf33e7 100644 > --- a/src/openvpn/crypto.c > +++ b/src/openvpn/crypto.c > @@ -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))
Are we sure we can't call this function with 'len' longer than the available space in 'key' ? Cheers, > { > msg(M_WARN, "ERROR: could not generate random key"); > return false; > } > - buf_write(key, rand, BCAP(key)); > + > + buf_inc_len(key, len); > + > return true; > } > > -- Antonio Quartulli _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel