|
From: | Simon Goldschmidt |
Subject: | [lwip-devel] [bug #23693] tcp_receive does not handle 'no more segs available' from tcp_seg_copy |
Date: | Tue, 24 Jun 2008 15:48:33 +0000 |
User-agent: | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; de; rv:1.9) Gecko/2008061004 Firefox/3.0 |
Update of bug #23693 (project lwip): Status: Fixed => None Assigned to: jifl => None Open/Closed: Closed => Open _______________________________________________________ Follow-up Comment #2: Fix as proposed by Art R.: Just replace the section in tcp_in.c @ 1190 cseg = tcp_seg_copy(&inseg); if (cseg != NULL) { cseg->next = next->next; if (prev != NULL) { prev->next = cseg; } else { pcb->ooseq = cseg; } } tcp_seg_free(next); if (cseg->next != NULL) { with (UNTESTED) cseg = tcp_seg_copy(&inseg); // If no seg available, do nothing. if (cseg == NULL) { break; } // Insert the new seg cseg->next = next->next; if (prev != NULL) { prev->next = cseg; } else { pcb->ooseq = cseg; } // Release the old seg - it just got replaced with new one. tcp_seg_free(next); if (cseg->next != NULL) { BTW: it's ok, you don't need to provide a patch. I will try to look into this. _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?23693> _______________________________________________ Nachricht geschickt von/durch Savannah http://savannah.nongnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |