lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #57379] Assertion "Can't split segment into length 0"


From: Hiromasa Ito
Subject: [lwip-devel] [bug #57379] Assertion "Can't split segment into length 0" failed
Date: Sat, 7 Dec 2019 08:21:25 -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/?57379>

                 Summary: Assertion "Can't split segment into length 0" failed
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: vhertz
            Submitted on: Sat 07 Dec 2019 01:21:24 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_out.c:851 fails.


if (split == 0) {
  LWIP_ASSERT("Can't split segment into length 0", 0);
  return ERR_VAL;
}


This code is written in tcp_split_unsent_seg(), 
and that is called from tcp_slowtmr() as below:


if (tcp_split_unsent_seg(pcb, (u16_t)pcb->snd_wnd) == ERR_OK) {


The 2nd argument of tcp_split_unsent_seg() is `split`.
If LWIP_WND_SCALE is defined, `pcb->snd_wnd` has 32-bit value.
If the lower 16bit of it is 0x0000, the value of `split` becomes 0x0000.
For example, if the value of `pcb->snd_wnd` is 0xffff0000, that of `split` is
0x0000.

As a result, the assertion fails.

You can reproduce this failure with 'crashed_inputs/008', 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/?57379>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]