- Timestamp:
- Jan 24, 2014 3:51:01 AM (11 years ago)
- Location:
- trunk/src/VBox/Devices/Network/lwip-new
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/lwip-new/CHANGELOG
r50209 r50211 109 109 * timers.c: patch #8244 make timeouts usable reliably from outside of the 110 110 timeout routine 111 112 2014-01-10: Simon Goldschmidt 113 * ip_frag.c, ip6_frag.c: fixed bug #41041 Potential use-after-free in IPv6 reassembly 111 114 112 115 2014-01-10: Simon Goldschmidt -
trunk/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip_frag.c
r50189 r50211 482 482 u16_t offset, len; 483 483 u8_t clen; 484 struct ip_reassdata *ipr_prev = NULL;485 484 486 485 IPFRAG_STATS_INC(ip_frag.recv); … … 528 527 break; 529 528 } 530 ipr_prev = ipr;531 529 } 532 530 … … 566 564 /* @todo: trim pbufs if fragments are overlapping */ 567 565 if (ip_reass_chain_frag_into_datagram_and_validate(ipr, p)) { 566 struct ip_reassdata *ipr_prev; 568 567 /* the totally last fragment (flag more fragments = 0) was received at least 569 568 * once AND all fragments are received */ … … 595 594 r = iprh->next_pbuf; 596 595 } 596 597 /* find the previous entry in the linked list */ 598 for (ipr_prev = reassdatagrams; ipr_prev != NULL; ipr = ipr->next) { 599 if (ipr_prev->next == ipr) { 600 break; 601 } 602 } 603 597 604 /* release the sources allocate for the fragment queue entry */ 598 605 ip_reass_dequeue_datagram(ipr, ipr_prev);
Note:
See TracChangeset
for help on using the changeset viewer.