Don't memcpy the contents of an empty fragment
authorMatt Caswell <matt@openssl.org>
Fri, 11 May 2018 09:28:47 +0000 (10:28 +0100)
committerMatt Caswell <matt@openssl.org>
Sat, 12 May 2018 09:05:39 +0000 (10:05 +0100)
commit1b261954028925c1e2c329928938dacacf0bb6c0
treefc9f7cc3f65f622a7cf80a4e12e8d2c7cbe39e38
parent36d2517a97f6020049116492b4d5491d177e629c
Don't memcpy the contents of an empty fragment

In DTLS if we have buffered a fragment for a zero length message (e.g.
ServerHelloDone) then, when we unbuffered the fragment, we were attempting
to memcpy the contents of the fragment which is zero length and a NULL
pointer. This is undefined behaviour. We should check first whether we
have a zero length fragment.

Fixes a travis issue.

[extended tests]

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6224)
ssl/statem/statem_dtls.c