On Fri, 22 Aug 2008 14:17:18 -0500 Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> wrote: > Andrew Morton wrote: > >> + unsigned long octet; > >> + const char *parse = buf; > >> + char *endp; > >> + int i; > >> + > >> + for (i = 1; i <= 4; i++) { > >> + octet = simple_strtoul(parse, &endp, 10); > >> + if (endp == buf || octet > 255 || > >> + (i < 4 && *endp != '.') || > >> + (i == 4 && *endp != '\0' && *endp != '\n')) > >> + return -EINVAL; > >> + a = (a << 8) | octet; > >> + parse = endp+1; > >> + } > >> + pi->iscsi_ipaddr = htonl(a); > >> + return endp-buf; > >> +} > >> > > > > This appears to be taking a dotted quad ipv4 address in ascii form, > > turning it into a u32 while performing checking? > > > > Surely we have a library function somewhere in networking which does > > this? If not, I'd suggest writing one. > > > > > > try in_aton() from include/linux/inet.h. > yeah. But that function is a crock. No error checking at all! -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html