This patch fixes a possible buffer overrun problem in crypto perf test.
Previously when user configured aad size is over 12 bytes the copy of template
aad will cause a buffer overrun.
The problem is fixed by only copy up to 12 bytes of aad template.
Fixes: 8a5b494a7f99 ("app/test-crypto-perf: add AEAD parameters")
Cc: [email protected]
Signed-off-by: Przemyslaw Zegan <[email protected]>
Acked-by: Fan Zhang <[email protected]>
---
v4:
- rebased on top of latest master
v3:
- replaced hardcoded values by sizeof(aad)
v2:
- changed to correct fixed line.
app/test-crypto-perf/cperf_test_vectors.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/test-crypto-perf/cperf_test_vectors.c
b/app/test-crypto-perf/cperf_test_vectors.c
index 4bba405961..314e2b7710 100644
--- a/app/test-crypto-perf/cperf_test_vectors.c
+++ b/app/test-crypto-perf/cperf_test_vectors.c
@@ -590,6 +590,10 @@ cperf_test_vector_get_dummy(struct cperf_options *options)
rte_free(t_vec);
return NULL;
}
+
+ if(options->aead_aad_sz > sizeof(aad))
+ options->aead_aad_sz = sizeof(aad);
+
memcpy(t_vec->aad.data, aad, options->aead_aad_sz);
t_vec->aad.phys_addr =
rte_malloc_virt2iova(t_vec->aad.data);
t_vec->aad.length = options->aead_aad_sz;
--
2.30.2