[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #57378] Assertion "tcp_slowtimr: persist ticking with
From: |
Hiromasa Ito |
Subject: |
[lwip-devel] [bug #57378] Assertion "tcp_slowtimr: persist ticking with empty send buffer" failed |
Date: |
Sat, 7 Dec 2019 08:19:06 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15 |
URL:
<https://savannah.nongnu.org/bugs/?57378>
Summary: Assertion "tcp_slowtimr: persist ticking with empty
send buffer" failed
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: vhertz
Submitted on: Sat 07 Dec 2019 01:19:05 PM UTC
Category: TCP
Severity: 3 - Normal
Item Group: Crash Error
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: None
lwIP version: Other
_______________________________________________________
Details:
Hi, all.
This is one of the assertion failures I found by fuzzing (to lwIP
ver2.1.0.RC1).
The following LWIP_ASSERT() at lwip/src/core/tcp.c:1235 fails.
LWIP_ASSERT("tcp_slowtimr: persist ticking with empty send buffer",
pcb->unsent != NULL);
>From my point of view, incoherent pcb->unsent freeing causes this failure.
As far as I know, pcb->unsent is freed at:
- tcp_abansdon()
- tcp_pcb_purge()
- tcp_receive()
In tcp_receive(), pcb->persist_backoff is not cleared after freeing
pcb->unsent.
As a result, pcb->persist_backoff > 0 in spite of pcb->unsent is empty.
You can reproduce this failure with 'crashed_inputs/007' attached to the
following message of lwip-devel:
https://lists.nongnu.org/archive/html/lwip-devel/2019-12/msg00013.html
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/bugs/?57378>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] [bug #57378] Assertion "tcp_slowtimr: persist ticking with empty send buffer" failed,
Hiromasa Ito <=