Add NULL pointer check to nat64_output().
It is possible, that a processed packet was originated by local host, in this case m->m_pkthdr.rcvif is NULL. Check and set it to V_loif to avoid NULL pointer dereference in IP input code, since it is expected that packet has valid receiving interface when netisr processes it. Obtained from: Yandex LLC MFC after: 1 week Sponsored by: Yandex LLC
This commit is contained in:
parent
589526906c
commit
d76227959a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345003
@ -219,6 +219,8 @@ nat64_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
|
||||
}
|
||||
if (logdata != NULL)
|
||||
nat64_log(logdata, m, af);
|
||||
if (m->m_pkthdr.rcvif == NULL)
|
||||
m->m_pkthdr.rcvif = V_loif;
|
||||
ret = netisr_queue(ret, m);
|
||||
if (ret != 0)
|
||||
NAT64STAT_INC(stats, oerrors);
|
||||
|
Loading…
Reference in New Issue
Block a user