access: fix infinite loop bug in ipv6 check

Thanks to BtBN for spotting this (though it was his code!).
This commit is contained in:
Adam Sutton 2013-01-15 17:28:51 +00:00
parent 4dd787640f
commit 8d2da9389d

View file

@ -203,11 +203,13 @@ netmask_verify(access_entry_t *ae, struct sockaddr *src)
while(slen >= 8)
{
if(a8[apos] != m8[apos])
continue;
break;
apos += 1;
slen -= 8;
}
if(slen >= 8)
continue;
if(slen == 0 || (a8[apos] & lastMask) == (m8[apos] & lastMask))
return 1;