Revision 3acccfc6 slirp/tcp_input.c
b/slirp/tcp_input.c | ||
---|---|---|
136 | 136 |
i = q->ti_seq + q->ti_len - ti->ti_seq; |
137 | 137 |
if (i > 0) { |
138 | 138 |
if (i >= ti->ti_len) { |
139 |
m_freem(m);
|
|
139 |
m_free(m); |
|
140 | 140 |
/* |
141 | 141 |
* Try to present any queued data |
142 | 142 |
* at the left window edge to the user. |
... | ... | |
170 | 170 |
q = tcpiphdr_next(q); |
171 | 171 |
m = tcpiphdr_prev(q)->ti_mbuf; |
172 | 172 |
remque(tcpiphdr2qlink(tcpiphdr_prev(q))); |
173 |
m_freem(m);
|
|
173 |
m_free(m); |
|
174 | 174 |
} |
175 | 175 |
|
176 | 176 |
/* |
... | ... | |
197 | 197 |
m = ti->ti_mbuf; |
198 | 198 |
ti = tcpiphdr_next(ti); |
199 | 199 |
if (so->so_state & SS_FCANTSENDMORE) |
200 |
m_freem(m);
|
|
200 |
m_free(m); |
|
201 | 201 |
else { |
202 | 202 |
if (so->so_emu) { |
203 | 203 |
if (tcp_emu(so,m)) sbappend(so, m); |
... | ... | |
451 | 451 |
acked = ti->ti_ack - tp->snd_una; |
452 | 452 |
sbdrop(&so->so_snd, acked); |
453 | 453 |
tp->snd_una = ti->ti_ack; |
454 |
m_freem(m);
|
|
454 |
m_free(m); |
|
455 | 455 |
|
456 | 456 |
/* |
457 | 457 |
* If all outstanding data are acked, stop |
... | ... | |
1260 | 1260 |
*/ |
1261 | 1261 |
if (tiflags & TH_RST) |
1262 | 1262 |
goto drop; |
1263 |
m_freem(m);
|
|
1263 |
m_free(m); |
|
1264 | 1264 |
tp->t_flags |= TF_ACKNOW; |
1265 | 1265 |
(void) tcp_output(tp); |
1266 | 1266 |
return; |
Also available in: Unified diff