mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-15 23:14:55 +00:00
slirp: Fix use after release on tcp_input
ti points into the m buffer. But the latter may already be released right after the dodata: label. Move the test before the potential release. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
46f3069cba
commit
8d06d69bc4
@ -1156,6 +1156,16 @@ step6:
|
|||||||
tp->rcv_up = tp->rcv_nxt;
|
tp->rcv_up = tp->rcv_nxt;
|
||||||
dodata:
|
dodata:
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If this is a small packet, then ACK now - with Nagel
|
||||||
|
* congestion avoidance sender won't send more until
|
||||||
|
* he gets an ACK.
|
||||||
|
*/
|
||||||
|
if (ti->ti_len && (unsigned)ti->ti_len <= 5 &&
|
||||||
|
((struct tcpiphdr_2 *)ti)->first_char == (char)27) {
|
||||||
|
tp->t_flags |= TF_ACKNOW;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Process the segment text, merging it into the TCP sequencing queue,
|
* Process the segment text, merging it into the TCP sequencing queue,
|
||||||
* and arranging for acknowledgment of receipt if necessary.
|
* and arranging for acknowledgment of receipt if necessary.
|
||||||
@ -1234,18 +1244,6 @@ dodata:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* If this is a small packet, then ACK now - with Nagel
|
|
||||||
* congestion avoidance sender won't send more until
|
|
||||||
* he gets an ACK.
|
|
||||||
*
|
|
||||||
* See above.
|
|
||||||
*/
|
|
||||||
if (ti->ti_len && (unsigned)ti->ti_len <= 5 &&
|
|
||||||
((struct tcpiphdr_2 *)ti)->first_char == (char)27) {
|
|
||||||
tp->t_flags |= TF_ACKNOW;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return any desired output.
|
* Return any desired output.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user