Changeset 2668
- Timestamp:
- 01/21/08 15:13:52 (10 months ago)
- Files:
-
- trunk/src/naddress.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/naddress.c
r2616 r2668 245 245 char const *fc; 246 246 char str[len + 1], *ptr = str; 247 int ret = -1;247 int ret = 0; 248 248 249 249 strcpy(str, str_c); … … 262 262 } 263 263 264 if ( (sep = memchr(ptr, *(fc + 1), len)) == NULL) {264 if (len == 0) 265 265 goto out; 266 } 266 if ((sep = memchr(ptr, *(fc + 1), len)) == NULL) 267 sep = ptr + len; 267 268 *sep = '\0'; 268 269 … … 281 282 282 283 if (!isNumberUnsigned(ptr, &sz, true) || sz > limit) { 284 ret = -1; 283 285 goto out; 284 286 } … … 296 298 else { 297 299 if (convertAddress(ptr, &(*ips)->a.vna_type, dst) == -1) { 300 ret = -1; 298 301 goto out; 299 302 } … … 304 307 } 305 308 309 ret++; 310 len -= (sep - ptr); 306 311 ptr = sep + 1; 307 312 … … 309 314 break; 310 315 } 311 ret = 0;312 316 313 317 out: … … 320 324 { 321 325 if (ifconfig_getaddr(str, &(*ips)->a.vna_v4_ip.s_addr, &(*ips)->a.vna_v4_mask.s_addr, NULL)==-1) { 322 if (parseIPFormat(str, ips, "1/m") == -1) {326 if (parseIPFormat(str, ips, "1/m") < 1) { 323 327 WRITE_MSG(2, "Invalid IP number '"); 324 328 WRITE_STR(2, str); … … 356 360 readRange(char const *str, struct vc_ips **ips) 357 361 { 358 if (parseIPFormat(str, ips, "1-2/m") == -1) {362 if (parseIPFormat(str, ips, "1-2/m") < 2) { 359 363 WRITE_MSG(2, "Invalid range '"); 360 364 WRITE_STR(2, str);
