diff --git a/iscsi-scst/usr/config.c b/iscsi-scst/usr/config.c index 7b16f13aa..d795ddc46 100644 --- a/iscsi-scst/usr/config.c +++ b/iscsi-scst/usr/config.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -617,11 +618,11 @@ static int netmask_match_v4(struct sockaddr *sa1, struct sockaddr *sa2, uint32_t static int netmask_match(struct sockaddr *sa1, struct sockaddr *sa2, char *buf) { - int32_t mbit; + unsigned long mbit; uint8_t family = sa1->sa_family; mbit = strtoul(buf, NULL, 0); - if (mbit < 0 || + if (mbit == ULONG_MAX || (family == AF_INET && mbit > 31) || (family == AF_INET6 && mbit > 127)) return 0;