[1/2] app/test-crypto-perf: fix invalid memcmp results
Checks
Commit Message
The function memcmp() returns an integer less than, equal to,
or greater than zero. In current code, if the first memcmp()
returns less than zero and the second memcmp() returns greater
than zero, the sum of results may still be 0 and indicates
verify succussed.
This commit converts the return value to be zero or greater
than zero. That will make sure the sum of results be correct.
Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type")
Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
---
app/test-crypto-perf/cperf_test_verify.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
> The function memcmp() returns an integer less than, equal to, or greater than
> zero. In current code, if the first memcmp() returns less than zero and the
> second memcmp() returns greater than zero, the sum of results may still be 0
> and indicates verify succussed.
>
> This commit converts the return value to be zero or greater than zero. That will
> make sure the sum of results be correct.
>
> Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type")
>
> Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
@@ -186,18 +186,18 @@ cperf_verify_op(struct rte_crypto_op *op,
if (cipher == 1) {
if (options->cipher_op == RTE_CRYPTO_CIPHER_OP_ENCRYPT)
- res += memcmp(data + cipher_offset,
+ res += !!memcmp(data + cipher_offset,
vector->ciphertext.data,
options->test_buffer_size);
else
- res += memcmp(data + cipher_offset,
+ res += !!memcmp(data + cipher_offset,
vector->plaintext.data,
options->test_buffer_size);
}
if (auth == 1) {
if (options->auth_op == RTE_CRYPTO_AUTH_OP_GENERATE)
- res += memcmp(data + auth_offset,
+ res += !!memcmp(data + auth_offset,
vector->digest.data,
options->digest_sz);
}