mirror of
https://github.com/opnsense/src.git
synced 2026-05-19 16:35:42 -04:00
sctp: improve handling of IPv4 addresses on IPV6 sockets
Reported by: syzbot+08fe66e4bfc2777cba95@syzkaller.appspotmail.com
(cherry picked from commit 784692c740)
This commit is contained in:
parent
4b3cfa86d0
commit
1d0d786f95
1 changed files with 4 additions and 2 deletions
|
|
@ -771,7 +771,8 @@ sctp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
|
|||
return (EINVAL);
|
||||
}
|
||||
}
|
||||
if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
|
||||
if ((addr->sa_family == AF_INET6) &&
|
||||
IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
|
||||
struct sockaddr_in sin;
|
||||
|
||||
/* convert v4-mapped into v4 addr and send */
|
||||
|
|
@ -909,7 +910,8 @@ sctp6_connect(struct socket *so, struct sockaddr *addr, struct thread *p)
|
|||
return (EINVAL);
|
||||
}
|
||||
}
|
||||
if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
|
||||
if ((addr->sa_family == AF_INET6) &&
|
||||
IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
|
||||
/* convert v4-mapped into v4 addr */
|
||||
in6_sin6_2_sin(&store.sin, sin6);
|
||||
addr = &store.sa;
|
||||
|
|
|
|||
Loading…
Reference in a new issue