Changeset 24932


Ignore:
Timestamp:
2011-01-08T18:30:33+01:00 (7 years ago)
Author:
juhosg
Message:

package/swconfig: add sanity checks to prevent a segfault

Location:
trunk/package/swconfig
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/swconfig/Makefile

    r21956 r24932  
    99 
    1010PKG_NAME:=swconfig 
    11 PKG_RELEASE:=6 
     11PKG_RELEASE:=7 
    1212 
    1313include $(INCLUDE_DIR)/package.mk 
  • trunk/package/swconfig/src/swlib.c

    r20939 r24932  
    369369                while(ptr && *ptr) 
    370370                { 
     371                        while(*ptr && isspace(*ptr)) 
     372                                ptr++; 
     373 
     374                        if (!*ptr) 
     375                                break; 
     376 
     377                        if (!isdigit(*ptr)) 
     378                                return -1; 
     379 
     380                        if (val.len >= dev->ports) 
     381                                return -1; 
     382 
    371383                        ports[val.len].flags = 0; 
    372384                        ports[val.len].id = strtoul(ptr, &ptr, 10); 
     
    374386                                if (*ptr == 't') 
    375387                                        ports[val.len].flags |= SWLIB_PORT_FLAG_TAGGED; 
     388                                else 
     389                                        return -1; 
     390 
    376391                                ptr++; 
    377392                        } 
Note: See TracChangeset for help on using the changeset viewer.