diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -578,7 +578,13 @@ unsigned char md2[20]; carp_hmac_generate(sc, counter, md2); - return (bcmp(md, md2, sizeof(md2))); + { + unsigned int _d = 0; + int _i; + for (_i = 0; _i < (int)sizeof(md2); _i++) + _d |= (unsigned char)md[_i] ^ (unsigned char)md2[_i]; + return (_d != 0); + } } static void