mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-04 07:31:11 +00:00
In certain cases ip_output() can free our route, so check
for its presence before RTFREE(). Noticed by: ru
This commit is contained in:
parent
d2a09f901a
commit
5e5da86597
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=138653
|
@ -210,7 +210,8 @@ in_gif_output(ifp, family, m)
|
|||
|
||||
error = ip_output(m, NULL, &sc->gif_ro, 0, NULL, NULL);
|
||||
|
||||
if ((sc->gif_if.if_flags & IFF_LINK0) == 0) {
|
||||
if (!(sc->gif_if.if_flags & IFF_LINK0) &&
|
||||
sc->gif_ro.ro_rt != NULL) {
|
||||
RTFREE(sc->gif_ro.ro_rt);
|
||||
sc->gif_ro.ro_rt = NULL;
|
||||
}
|
||||
|
|
|
@ -218,7 +218,8 @@ in6_gif_output(ifp, family, m)
|
|||
error = ip6_output(m, 0, &sc->gif_ro6, 0, 0, NULL, NULL);
|
||||
#endif
|
||||
|
||||
if ((sc->gif_if.if_flags & IFF_LINK0) == 0) {
|
||||
if (!(sc->gif_if.if_flags & IFF_LINK0) &&
|
||||
sc->gif_ro6.ro_rt != NULL) {
|
||||
RTFREE(sc->gif_ro6.ro_rt);
|
||||
sc->gif_ro6.ro_rt = NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue