From a5b508d1fb751015ecb9b6701749dcdcd81e3071 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Mon, 14 Oct 2024 20:57:00 +0200 Subject: TCP: Don't free buffer prematurely --- kernel/network/tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kernel/network') diff --git a/kernel/network/tcp.c b/kernel/network/tcp.c index e608f6c..d3ed73e 100644 --- a/kernel/network/tcp.c +++ b/kernel/network/tcp.c @@ -296,7 +296,6 @@ void handle_tcp(ipv4_t src_ip, ipv4_t dst_ip, const u8 *payload, if (FIN & flags) { tcp_send_empty_payload(con, ACK); con->state = TCP_STATE_CLOSE_WAIT; - tcp_strip_connection(con); break; } if (tcp_payload_length > 0) { @@ -305,6 +304,7 @@ void handle_tcp(ipv4_t src_ip, ipv4_t dst_ip, const u8 *payload, } int rc = ringbuffer_write(&con->incoming_buffer, tcp_payload, tcp_payload_length); + assert(!ringbuffer_isempty(&con->incoming_buffer)); con->rcv_nxt += rc; con->should_send_ack = 1; } -- cgit v1.2.3