pcu_l1_if: fix misaligned assignment of remote address

Found-by: asan
Change-Id: I9c87d3fc1b6f03d79b53f1da3a146630061c3459
This commit is contained in:
Alexander Couzens 2020-10-27 13:24:40 +01:00 committed by laforge
parent 38de84cdc4
commit 87c6dd3c26
1 changed files with 5 additions and 2 deletions

View File

@ -507,7 +507,8 @@ static int pcu_info_ind_ns(struct gprs_rlcmac_bts *bts,
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 @@ static int pcu_info_ind_ns(struct gprs_rlcmac_bts *bts,
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: