From 643e942719407c43da99523bba4424716425d41b Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Sat, 25 Jun 2016 17:11:21 +0100 Subject: [PATCH] app/test: avoid freeing mbuf twice In cryptodev tests, when input and output buffers were the same, the mbuf was being freed twice, causing refcnt_atomic to be negative. Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests") Signed-off-by: Pablo de Lara --- app/test/test_cryptodev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 1a67ffb87c..67608ff5ca 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -396,10 +396,13 @@ ut_teardown(void) /* * free mbuf - both obuf and ibuf are usually the same, - * but rte copes even if we call free twice + * so check if they point at the same address is necessary, + * to avoid freeing the mbuf twice. */ if (ut_params->obuf) { rte_pktmbuf_free(ut_params->obuf); + if (ut_params->ibuf == ut_params->obuf) + ut_params->ibuf = 0; ut_params->obuf = 0; } if (ut_params->ibuf) { -- 2.20.1