]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 16 Apr 2021 19:12:36 +0000 (14:12 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 08:08:23 +0000 (10:08 +0200)
[ Upstream commit e5272ad4aab347dde5610c0aedb786219e3ff793 ]

Fix the following out-of-bounds warning:

net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

Link: https://github.com/KSPP/linux/issues/109
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sctp/sm_make_chunk.c

index d5eda966a706a881f0d77198bfcef408c60ea27a..4ffb9116b6f27a31e8667d74bc1ad2272111547e 100644 (file)
@@ -3134,7 +3134,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
                 * primary.
                 */
                if (af->is_any(&addr))
-                       memcpy(&addr.v4, sctp_source(asconf), sizeof(addr));
+                       memcpy(&addr, sctp_source(asconf), sizeof(addr));
 
                if (security_sctp_bind_connect(asoc->ep->base.sk,
                                               SCTP_PARAM_SET_PRIMARY,