summaryrefslogtreecommitdiffstats
path: root/sys/net/rtsock.c
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2014-04-27 09:49:35 +0000
committermelifaro <melifaro@FreeBSD.org>2014-04-27 09:49:35 +0000
commitbf1b5f8b0c15239d2a5d43fca7bf6e2cb5403edb (patch)
treed43130fa65a28897e848e49319da03522f2764d0 /sys/net/rtsock.c
parentd581b6a9ab2f217a51854f244a87bb1d118c72f3 (diff)
downloadFreeBSD-src-bf1b5f8b0c15239d2a5d43fca7bf6e2cb5403edb.zip
FreeBSD-src-bf1b5f8b0c15239d2a5d43fca7bf6e2cb5403edb.tar.gz
Do not delay freeing rtm. Bandaid added in r227061 is not needed since r227061,
MFC after: 1 month
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r--sys/net/rtsock.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index 626dc8f..45ba6fd 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -842,7 +842,7 @@ flush:
/* There is another listener, so construct message */
rp = sotorawcb(so);
}
- if (rtm) {
+ if (rtm != NULL) {
#ifdef INET6
if (rti_need_deembed) {
/* sin6_scope_id is recovered before sending rtm. */
@@ -865,6 +865,7 @@ flush:
m = NULL;
} else if (m->m_pkthdr.len > rtm->rtm_msglen)
m_adj(m, rtm->rtm_msglen - m->m_pkthdr.len);
+ Free(rtm);
}
if (m) {
M_SETFIB(m, fibnum);
@@ -881,9 +882,6 @@ flush:
} else
rt_dispatch(m, saf);
}
- /* info.rti_info[RTAX_DST] (used above) can point inside of rtm */
- if (rtm)
- Free(rtm);
}
return (error);
}
OpenPOWER on IntegriCloud