It is undefined behaviour to send NULL as either the src, or dest params
In pkey_kdf.c we had a check to ensure that the src address is non-NULL.
However in some situations it is possible that the dest address could also
be NULL. Specifically in the case where the datalen is 0 and we are using
a newly allocated BUF_MEM.
We add a check of datalen to avoid the undefined behaviour.
Reviewed-by: Tomas Mraz <email@example.com>
Reviewed-by: Richard Levitte <firstname.lastname@example.org>
(Merged from https://github.com/openssl/openssl/pull/9868)