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: pablo.de.lara.gua...@intel.com Signed-off-by: Przemyslaw Zegan <przemyslawx.ze...@intel.com> Acked-by: Fan Zhang <roy.fan.zh...@intel.com> --- 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