Index: net/if_vlan.c =================================================================== --- net/if_vlan.c (revision 201343) +++ net/if_vlan.c (working copy) @@ -582,7 +582,7 @@ { const char *cp; struct ifnet *ifp; - int t = 0; + int t; /* Check for . style interface names. */ IFNET_RLOCK_NOSLEEP(); @@ -592,13 +592,15 @@ if (strncmp(ifp->if_xname, name, strlen(ifp->if_xname)) != 0) continue; cp = name + strlen(ifp->if_xname); - if (*cp != '.') + if (*cp++ != '.') continue; - for(; *cp != '\0'; cp++) { - if (*cp < '0' || *cp > '9') - continue; + if (*cp == '\0') + continue; + t = 0; + for(; *cp >= '0' && *cp <= '9'; cp++) t = (t * 10) + (*cp - '0'); - } + if (*cp != '\0') + continue; if (tag != NULL) *tag = t; break;