Return to misc.c CVS log | Up to [local] / src / usr.bin / ssh |
version 1.79, 2010/07/13 23:13:16 | version 1.80, 2010/07/21 02:10:58 | ||
---|---|---|---|
|
|
||
} | } | ||
int | int | ||
timingsafe_bcmp(const void *_s1, const void *_s2, size_t n) | timingsafe_bcmp(const void *b1, const void *b2, size_t n) | ||
{ | { | ||
u_char *s1 = (u_char *)_s1; | const unsigned char *p1 = b1, *p2 = b2; | ||
u_char *s2 = (u_char *)_s2; | |||
int ret = 0; | int ret = 0; | ||
for (; n > 0; n--, s1++, s2++) | for (; n > 0; n--) | ||
ret |= *s1 ^ *s2; | ret |= *p1++ ^ *p2++; | ||
return ret; | return (ret != 0); | ||
} | } | ||