From b5c474f69b473ba752ac9e63ff961f94341dc828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 10 Nov 2020 15:33:28 +0100 Subject: [PATCH] libsystemd-network: add comment explaining unusual memory access Inspired by coverity CID#1435984. I'm confused by the union definion every time I look at it... Let's at least add a comment to help future readers. --- src/libsystemd-network/dhcp-network.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsystemd-network/dhcp-network.c b/src/libsystemd-network/dhcp-network.c index 6c82d5508e..656482bf83 100644 --- a/src/libsystemd-network/dhcp-network.c +++ b/src/libsystemd-network/dhcp-network.c @@ -106,7 +106,7 @@ static int _bind_raw_socket(int ifindex, union sockaddr_union *link, .sll_hatype = htobe16(arp_type), .sll_halen = bcast_addr_len, }; - memcpy(link->ll.sll_addr, bcast_addr, bcast_addr_len); + memcpy(link->ll.sll_addr, bcast_addr, bcast_addr_len); /* We may overflow link->ll. link->ll_buffer ensures we have enough space. */ r = bind(s, &link->sa, SOCKADDR_LL_LEN(link->ll)); if (r < 0)