Commit
41e4b67a229e774ebc57a882c386e10d80e10e7e broke the exported
keying material functionality while addressing lack of variable-length
arrays in MSVC compilers - turning an array into a gc_malloc()'ed
pointer, but still using "sizeof(ekm)" for buffer size - which is
now "4" (unsigned char *), not the actual buffer length...
Fixed!
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <49496.109.81.184.65.
1461736834.squirrel@mail.actumg2.cz>
URL: http://article.gmane.org/gmane.network.openvpn.devel/11509
Signed-off-by: Gert Doering <gert@greenie.muc.de>
struct gc_arena gc = gc_new();
unsigned char* ekm = (unsigned char*) gc_malloc(size, true, &gc);
- if (SSL_export_keying_material(ssl->ssl, ekm, sizeof(ekm),
+ if (SSL_export_keying_material(ssl->ssl, ekm, size,
session->opt->ekm_label, session->opt->ekm_label_size, NULL, 0, 0))
{
unsigned int len = (size * 2) + 2;