From: Pauli Date: Fri, 29 Mar 2019 08:17:38 +0000 (+1000) Subject: Ensure that the struct msghdr is properly zeroed. X-Git-Tag: openssl-3.0.0-alpha1~2281 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=64a45882c70e29a725c57894e7f80a6161f457bc;p=oweals%2Fopenssl.git Ensure that the struct msghdr is properly zeroed. This is probably harmless but best to properly initialise things. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8611) --- diff --git a/engines/e_afalg.c b/engines/e_afalg.c index 19d98d897b..c3f622e752 100644 --- a/engines/e_afalg.c +++ b/engines/e_afalg.c @@ -412,7 +412,7 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in, size_t inl, const unsigned char *iv, unsigned int enc) { - struct msghdr msg = { 0 }; + struct msghdr msg; struct cmsghdr *cmsg; struct iovec iov; ssize_t sbytes; @@ -421,6 +421,7 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in, # endif char cbuf[CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN)) + CMSG_SPACE(ALG_OP_LEN)]; + memset(&msg, 0, sizeof(msg)); memset(cbuf, 0, sizeof(cbuf)); msg.msg_control = cbuf; msg.msg_controllen = sizeof(cbuf); diff --git a/include/internal/ktls.h b/include/internal/ktls.h index 542acf3785..23a0397a0a 100644 --- a/include/internal/ktls.h +++ b/include/internal/ktls.h @@ -118,12 +118,13 @@ static ossl_inline int ktls_start(int fd, static ossl_inline int ktls_send_ctrl_message(int fd, unsigned char record_type, const void *data, size_t length) { - struct msghdr msg = { 0 }; + struct msghdr msg; int cmsg_len = sizeof(record_type); struct cmsghdr *cmsg; char buf[CMSG_SPACE(cmsg_len)]; struct iovec msg_iov; /* Vector of data to send/receive into */ + memset(&msg, 0, sizeof(msg)); msg.msg_control = buf; msg.msg_controllen = sizeof(buf); cmsg = CMSG_FIRSTHDR(&msg);