Ignore:
Timestamp:
05/29/08 11:44:54 (5 years ago)
Author:
spa1
Message:
  • Updated all get_payload_from_X functions to set remaining to zero if they are returning NULL rather than have remaining be "undefined" upon return
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/protocols_l3.c

    r1315 r1354  
    1717 
    1818        /* Make sure we have at least a base IPv4 header */ 
    19         if (remaining < sizeof(libtrace_ip_t)) 
     19        if (remaining < sizeof(libtrace_ip_t))  
    2020                return NULL; 
    2121         
     
    5050 
    5151        if ((ntohs(ipptr->ip_off) & SW_IP_OFFMASK) != 0) { 
     52                *remaining = 0;         /* Not sure if this is right but 
     53                                           consistency is a good thing, right? 
     54                                         */ 
    5255                return NULL; 
    5356        } 
     
    5558        if (remaining) { 
    5659                if (*remaining<=(ipptr->ip_hl*4U)) { 
     60                        *remaining = 0; 
    5761                        return NULL; 
    5862                } 
     
    7478 
    7579        if (remaining) { 
    76                 if (*remaining<sizeof(libtrace_ip6_t)) 
    77                         return NULL; 
     80                if (*remaining<sizeof(libtrace_ip6_t)) { 
     81                        *remaining = 0; 
     82                        return NULL; 
     83                } 
    7884                *remaining-=sizeof(libtrace_ip6_t); 
    7985        } 
     
    94100                                                if (*remaining < len) { 
    95101                                                        /* Snap too short */ 
     102                                                        *remaining = 0; 
    96103                                                        return NULL; 
    97104                                                } 
Note: See TracChangeset for help on using the changeset viewer.