Fix two bugs I introduced in r362563.
Found by running syzkaller. MFC after: 3 days
This commit is contained in:
parent
30a85ff3c0
commit
d7351394da
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364353
@ -1124,7 +1124,7 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
|
||||
if (actual + sizeof(struct sockaddr_in6) > limit) {
|
||||
return (actual);
|
||||
}
|
||||
in6_sin_2_v4mapsin6(sin, (struct sockaddr_in6 *)&addr);
|
||||
in6_sin_2_v4mapsin6(sin, (struct sockaddr_in6 *)addr);
|
||||
((struct sockaddr_in6 *)addr)->sin6_port = inp->sctp_lport;
|
||||
addr = (struct sockaddr *)((caddr_t)addr + sizeof(struct sockaddr_in6));
|
||||
actual += sizeof(struct sockaddr_in6);
|
||||
@ -2271,7 +2271,7 @@ sctp_getopt(struct socket *so, int optname, void *optval, size_t *optsize,
|
||||
(net->ro._l_addr.sa.sa_family == AF_INET)) {
|
||||
/* Must map the address */
|
||||
in6_sin_2_v4mapsin6(&net->ro._l_addr.sin,
|
||||
(struct sockaddr_in6 *)&addr);
|
||||
(struct sockaddr_in6 *)addr);
|
||||
} else {
|
||||
memcpy(addr, &net->ro._l_addr, cpsz);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user