pcu_l1_if: fix misaligned assignment of remote address
Found-by: asan
Change-Id: I9c87d3fc1b6f03d79b53f1da3a146630061c3459
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 4491c4e..8a825a1 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -507,7 +507,8 @@
local[i].u.sin.sin_port = htons(info_ind->local_port[i]);
remote[i].u.sin.sin_family = AF_INET;
- remote[i].u.sin.sin_addr = info_ind->remote_ip[i].v4;
+ memcpy(&remote[i].u.sin.sin_addr, &info_ind->remote_ip[i].v4,
+ sizeof(struct in_addr));
remote[i].u.sin.sin_port = htons(info_ind->remote_port[i]);
break;
case PCU_IF_ADDR_TYPE_IPV6:
@@ -516,7 +517,9 @@
local[i].u.sin6.sin6_port = htons(info_ind->local_port[i]);
remote[i].u.sin6.sin6_family = AF_INET6;
- remote[i].u.sin6.sin6_addr = info_ind->remote_ip[i].v6;
+ memcpy(&remote[i].u.sin6.sin6_addr,
+ &info_ind->remote_ip[i].v6,
+ sizeof(struct in6_addr));
remote[i].u.sin6.sin6_port = htons(info_ind->remote_port[i]);
break;
default: