diff options
author | rwatson <rwatson@FreeBSD.org> | 2008-05-29 07:18:43 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2008-05-29 07:18:43 +0000 |
commit | c74da9cd447d88e1a2defdd577d01b2fe43e0981 (patch) | |
tree | ab795b3abc01f9a9a76e8da00775fc2bdf131744 | |
parent | 2ef107420ebf9d8faf773cabd45045c494e3c983 (diff) | |
download | FreeBSD-src-c74da9cd447d88e1a2defdd577d01b2fe43e0981.zip FreeBSD-src-c74da9cd447d88e1a2defdd577d01b2fe43e0981.tar.gz |
Rather than m_free(dtom(si)) in spx_reass(), return (1) which causes the
caller to free the mbuf without using dtom().
MFC after: 3 days
-rw-r--r-- | sys/netipx/spx_usrreq.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netipx/spx_usrreq.c b/sys/netipx/spx_usrreq.c index 156b315..b826ee8 100644 --- a/sys/netipx/spx_usrreq.c +++ b/sys/netipx/spx_usrreq.c @@ -596,10 +596,8 @@ update_window: } else spxstat.spxs_rcvpackafterwin++; if (si->si_cc & SPX_OB) { - if (SSEQ_GT(si->si_seq, cb->s_alo + 60)) { - m_freem(dtom(si)); - return (0); - } /* else queue this packet; */ + if (SSEQ_GT(si->si_seq, cb->s_alo + 60)) + return (1); /* else queue this packet; */ } else { #ifdef BROKEN /* @@ -615,8 +613,7 @@ update_window: would crash system*/ #endif spx_istat.notyet++; - m_freem(dtom(si)); - return (0); + return (1); } } |