if (!addr || !*addr) return 0;
- if (!isdigit(tok[0])) return 0;
+ if (!isdigit(* (unsigned char *) tok)) return 0;
p = strchr(tok,'/');
if (p) *p = 0;
mask = ntohl(mask);
} else {
int bits = atoi(p+1);
+ if (bits == 0) return 1;
if (bits <= 0 || bits > 32) {
rprintf(FERROR,"malformed mask in %s\n", tok);
return 0;