summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ot_accesslist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ot_accesslist.c b/ot_accesslist.c
index 181c8f0..1badc25 100644
--- a/ot_accesslist.c
+++ b/ot_accesslist.c
@@ -385,10 +385,10 @@ void accesslist_cleanup( void ) {
385#endif 385#endif
386 386
387int address_in_net( const ot_ip6 address, const ot_net *net ) { 387int address_in_net( const ot_ip6 address, const ot_net *net ) {
388 int bits = net->bits; 388 int bits = net->bits, checkbits = ( 0x7f00 >> ( bits & 7 ));
389 int result = memcmp( address, &net->address, bits >> 3 ); 389 int result = memcmp( address, &net->address, bits >> 3 );
390 if( !result && ( bits & 7 ) ) 390 if( !result && ( bits & 7 ) )
391 result = ( ( 0x7f00 >> ( bits & 7 ) ) & address[bits>>3] ) - net->address[bits>>3]; 391 result = ( checkbits & address[bits>>3] ) - ( checkbits & net->address[bits>>3]);
392 return result == 0; 392 return result == 0;
393} 393}
394 394