buglwIP - A Lightweight TCP/IP stack - Bugs: bug #32926, TCP_RMV(&tcp_bound_pcbs) is...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #32926: TCP_RMV(&tcp_bound_pcbs) is called on unbound tcp pcbs.

Submitted by:  Simon Goldschmidt <goldsimon>
Submitted on:  Sun 27 Mar 2011 12:33:35 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: Simon Goldschmidt <goldsimon>
Open/Closed: ClosedPlanned Release: None
lwIP version: CVS Head

Sun 27 Mar 2011 05:18:03 PM UTC, comment #1:

Fixed by checking if the pcb was bound (local_port != 0).

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Sun 27 Mar 2011 12:33:35 PM UTC, original submission:

Found by Tomas Hruby on lwip-users:
If TCP_DEBUG_PCB_LISTS==1 and the tcp_bound_pcbs pointer is NULL, an ASSERT triggers for this code:

struct tcp_pcb t = tcp_new();
tcp_close(t);

The reason is that we have no state difference between CLOSED and BOUND.

To solve this, we should check if 'pcb->local_port' is != 0 before trying to remove a pcb from tcp_bound_pcbs.

With TCP_DEBUG_PCB_LISTS==0 (the default), this goes unnoticed.

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by goldsimon (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 27 Mar 2011 05:18:03 PM UTCgoldsimonStatusNone=>Fixed
      Assigned toNone=>goldsimon
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1