From: Justin Pettit Date: Wed, 20 Jul 2016 06:01:29 +0000 (-0700) Subject: packets: Fix in6_is_lla() on systems without s6_addr32 defined. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=bf32e3e2c029da18b5d6fd9210cb0ea12a1d0383 packets: Fix in6_is_lla() on systems without s6_addr32 defined. Fixes: 6d1a4f16 ("packets: Add in6_is_lla() function.") Reported-by: Ben Pfaff Signed-off-by: Justin Pettit Acked-by: Ben Pfaff --- diff --git a/lib/packets.h b/lib/packets.h index 8f11e2c05..5fd1e51d4 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -987,8 +987,9 @@ in6_is_lla(struct in6_addr *addr) #ifdef s6_addr32 return addr->s6_addr32[0] == htonl(0xfe800000) && !(addr->s6_addr32[1]); #else - return addr->s6_addr[0] == htons(0xfe80) && - !(addr->s6_addr[1] | addr->s6_addr[2] | addr->s6_addr[3]); + return addr->s6_addr[0] == 0xfe && addr->s6_addr[1] == 0x80 && + !(addr->s6_addr[2] | addr->s6_addr[3] | addr->s6_addr[4] | + addr->s6_addr[5] | addr->s6_addr[6] | addr->s6_addr[7]); #endif }