]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
access: fix infinite loop bug in ipv6 check
authorAdam Sutton <dev@adamsutton.me.uk>
Tue, 15 Jan 2013 17:28:51 +0000 (17:28 +0000)
committerAdam Sutton <dev@adamsutton.me.uk>
Tue, 15 Jan 2013 17:28:51 +0000 (17:28 +0000)
Thanks to BtBN for spotting this (though it was his code!).

src/access.c

index a595986dabf7cbff3a208a58c3639a2bc18766cf..3e7614d5f3d765162712e65d80325fe001f55026 100644 (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;