pcu_l1_if: fix misaligned assignment of remote address
Found-by: asan Change-Id: I9c87d3fc1b6f03d79b53f1da3a146630061c3459
This commit is contained in:
parent
38de84cdc4
commit
87c6dd3c26
|
@ -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]);
|
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_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]);
|
remote[i].u.sin.sin_port = htons(info_ind->remote_port[i]);
|
||||||
break;
|
break;
|
||||||
case PCU_IF_ADDR_TYPE_IPV6:
|
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]);
|
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_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]);
|
remote[i].u.sin6.sin6_port = htons(info_ind->remote_port[i]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue