1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-24 12:36:01 -07:00

Have sodium_memcmp(a,b,s) return -1 if a != b, document return value.

This commit is contained in:
Frank Denis 2013-10-30 06:47:13 -07:00
parent d140634ce0
commit 1ca05f6b16
3 changed files with 7 additions and 2 deletions

View File

@ -173,6 +173,11 @@ In order to compare memory zones in constant time, Sodium provides:
int sodium_memcmp(const void * const b1_, const void * const b2_, int sodium_memcmp(const void * const b1_, const void * const b2_,
size_t size); size_t size);
`sodium_memcmp()` returns `0` if `size` bytes at `b1_` and `b2_` are
equal, another value if they are not. Unlike `memcmp()`,
`sodium_memcmp()` cannot be used to put `b1_` and `b2_` into a defined
order.
And a convenience function for converting a binary buffer to a And a convenience function for converting a binary buffer to a
hexadecimal string: hexadecimal string:

View File

@ -38,7 +38,7 @@ sodium_memcmp(const void * const b1_, const void * const b2_, size_t size)
for (i = 0U; i < size; i++) { for (i = 0U; i < size; i++) {
d |= b1[i] ^ b2[i]; d |= b1[i] ^ b2[i];
} }
return (int) d; return (int) ((1 & ((d - 1) >> 8)) - 1);
} }
unsigned char * unsigned char *

View File

@ -1,6 +1,6 @@
0 0
0 0
255 -1
0 0
0 0
30313233343536373839414243444546 30313233343536373839414243444546