app/crypto-perf: fix possible overflow
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 11 Apr 2017 14:42:59 +0000 (15:42 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 20 Apr 2017 09:32:45 +0000 (11:32 +0200)
In the latency test, when number of enqueued operations
is less than the burst size, the timestamp value of the
non-enqueued operations was being stored, even though
those operations were being freed.

This could cause an array overflow, since it could store
more values than the total number of operations.

Fixes: 5d75fb09d3be ("app/crypto-perf: fix invalid latency for QAT")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-crypto-perf/cperf_test_latency.c

index 3275b4b..e61ac97 100644 (file)
@@ -396,7 +396,7 @@ cperf_latency_test_runner(void *arg)
                        for (i = ops_enqd; i < burst_size; i++)
                                rte_crypto_op_free(ops[i]);
 
-                       for (i = 0; i < burst_size; i++) {
+                       for (i = 0; i < ops_enqd; i++) {
                                ctx->res[tsc_idx].tsc_start = tsc_start;
                                ops[i]->opaque_data = (void *)&ctx->res[tsc_idx];
                                tsc_idx++;