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 <l...@intel.com>
Signed-off-by: Gustavo A. R. Silva <gustavo...@kernel.org>
---
 net/sctp/sm_make_chunk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 54e6a708d06e..5f9a7c028274 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3147,7 +3147,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,
-- 
2.27.0

Reply via email to