diff --git a/include/tinycrypt/ecc.h b/include/tinycrypt/ecc.h index 9a705c495..0d1d9ec98 100644 --- a/include/tinycrypt/ecc.h +++ b/include/tinycrypt/ecc.h @@ -422,7 +422,7 @@ uECC_word_t uECC_vli_sub(uECC_word_t *result, const uECC_word_t *left, * @param left IN -- left term in comparison * @param right IN -- right term in comparison * @param num_words IN -- number of words - * @return Returns 0 if left == right, 1 otherwise. + * @return Returns 0 if left == right, non-zero otherwise. */ uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right); diff --git a/tinycrypt/ecc.c b/tinycrypt/ecc.c index d01c67617..92906fd76 100644 --- a/tinycrypt/ecc.c +++ b/tinycrypt/ecc.c @@ -185,7 +185,7 @@ uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right) for (i = NUM_ECC_WORDS - 1; i >= 0; --i) { diff |= (left[i] ^ right[i]); } - return !(diff == 0); + return diff; } uECC_word_t cond_set(uECC_word_t p_true, uECC_word_t p_false, unsigned int cond)