]> git.droids-corp.org - dpdk.git/commitdiff
app/test: avoid freeing mbufs twice in qat test
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 27 Jun 2016 12:41:27 +0000 (13:41 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 27 Jun 2016 14:44:12 +0000 (16:44 +0200)
Test_multi_session was freeing mbufs used in the multiple sessions
created and setting obuf to NULL after it, but ibuf was not being
set to NULL, and therefore, it was being freed again (ibuf and obuf
are pointing at the same address), in the ut_teardown() function.

Fixes: 1b9cb73ecef1 ("app/test: fix qat autotest failure")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
app/test/test_cryptodev.c

index 67608ff5ca97d9b890e49c1278504f11be249267..9dfe34f8c1b3c68e291d450d96703ca472fb446b 100644 (file)
@@ -3471,12 +3471,19 @@ test_multi_session(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) {
+                       rte_pktmbuf_free(ut_params->ibuf);
+                       ut_params->ibuf = 0;
+               }
        }
 
        /* Next session create should fail */