Changeset 24992


Ignore:
Timestamp:
2011-01-14T19:19:21+01:00 (7 years ago)
Author:
juhosg
Message:

backfire: package/swconfig: add sanity checks to prevent a segfault (backport of r24932)

Location:
branches/backfire/package/swconfig
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/swconfig/Makefile

    r21478 r24992  
    99 
    1010PKG_NAME:=swconfig 
    11 PKG_RELEASE:=6 
     11PKG_RELEASE:=7 
    1212 
    1313include $(INCLUDE_DIR)/package.mk 
  • branches/backfire/package/swconfig/src/swlib.c

    r20948 r24992  
    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.