diff options
Diffstat (limited to 'common/lib/libc/string/consttime_memequal.c')
| -rw-r--r-- | common/lib/libc/string/consttime_memequal.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/common/lib/libc/string/consttime_memequal.c b/common/lib/libc/string/consttime_memequal.c new file mode 100644 index 00000000000..969e53295fe --- /dev/null +++ b/common/lib/libc/string/consttime_memequal.c @@ -0,0 +1,19 @@ +/* $NetBSD: consttime_memequal.c,v 1.1 2013/06/24 04:21:19 riastradh Exp $ */ + +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include <string.h> +#define consttime_memequal __consttime_memequal +#else +#include <lib/libkern/libkern.h> +#endif + +int +consttime_memequal(const void *b1, const void *b2, size_t len) +{ + const char *c1 = b1, *c2 = b2; + int res = 0; + + while (len --) + res |= *c1++ ^ *c2++; + return res; +} |
