Skip to content

Commit 421ff47

Browse files
chyu313jukkar
authored andcommitted
net: ip: Fix TCP unacked_len
TCP unacked_len can be set to zero in tcp_resend_data(), and then be minus by len_acked when ACK is received, resulting in a negative unacked_len value. Fixes #36390 Signed-off-by: Chih Hung Yu <[email protected]>
1 parent 4cae9b8 commit 421ff47

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

subsys/net/ip/tcp2.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1827,7 +1827,11 @@ static void tcp_in(struct tcp *conn, struct net_pkt *pkt)
18271827
}
18281828

18291829
conn->send_data_total -= len_acked;
1830-
conn->unacked_len -= len_acked;
1830+
if (conn->unacked_len < len_acked) {
1831+
conn->unacked_len = 0;
1832+
} else {
1833+
conn->unacked_len -= len_acked;
1834+
}
18311835
conn_seq(conn, + len_acked);
18321836
net_stats_update_tcp_seg_recv(conn->iface);
18331837

0 commit comments

Comments
 (0)