VirtualBox

Changeset 50211 in vbox for trunk


Ignore:
Timestamp:
Jan 24, 2014 3:51:01 AM (11 years ago)
Author:
vboxsync
Message:

lwip: Partially apply missed commit from git master
commit 381a7b110a4a611e9956b2c644bc330bacb87073
Date: Fri Jan 10 21:47:42 2014 +0100

Apply IPv4 part only. IPv6 was fixed properly in r91477 as part of
IPv6 reassembly rewrite. Force README.vbox commit so that it has this
in its history.

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  
    109109  * timers.c: patch #8244 make timeouts usable reliably from outside of the
    110110    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
    111114
    112115  2014-01-10: Simon Goldschmidt
  • trunk/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip_frag.c

    r50189 r50211  
    482482  u16_t offset, len;
    483483  u8_t clen;
    484   struct ip_reassdata *ipr_prev = NULL;
    485484
    486485  IPFRAG_STATS_INC(ip_frag.recv);
     
    528527      break;
    529528    }
    530     ipr_prev = ipr;
    531529  }
    532530
     
    566564  /* @todo: trim pbufs if fragments are overlapping */
    567565  if (ip_reass_chain_frag_into_datagram_and_validate(ipr, p)) {
     566    struct ip_reassdata *ipr_prev;
    568567    /* the totally last fragment (flag more fragments = 0) was received at least
    569568     * once AND all fragments are received */
     
    595594      r = iprh->next_pbuf;
    596595    }
     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
    597604    /* release the sources allocate for the fragment queue entry */
    598605    ip_reass_dequeue_datagram(ipr, ipr_prev);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette