[2/2] test/reorder: fix double free of drained buffers
Checks
Commit Message
Set to zero array of drained buffers after free, to prevent freeing them
one more time.
Discovered with enabled `RTE_LIBRTE_MEMPOOL_DEBUG`.
Fixes: ecd867faa860 ("test/reorder: fix freeing mbuf twice")
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
---
app/test/test_reorder.c | 2 ++
1 file changed, 2 insertions(+)
Comments
On Sat, Jan 7, 2023 at 4:20 PM Volodymyr Fialko <vfialko@marvell.com> wrote:
>
> Set to zero array of drained buffers after free, to prevent freeing them
> one more time.
> Discovered with enabled `RTE_LIBRTE_MEMPOOL_DEBUG`.
Good catch, having those debug options enabled in the CI could be interesting.
Cc: CI people, for info.
On Sat, 7 Jan 2023 16:19:39 +0100
Volodymyr Fialko <vfialko@marvell.com> wrote:
> Set to zero array of drained buffers after free, to prevent freeing them
> one more time.
> Discovered with enabled `RTE_LIBRTE_MEMPOOL_DEBUG`.
>
> Fixes: ecd867faa860 ("test/reorder: fix freeing mbuf twice")
>
> Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Maybe include the actual test failure log next time.
Looks correct to me.
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
@@ -278,6 +278,7 @@ test_reorder_drain(void)
goto exit;
}
rte_pktmbuf_free(robufs[0]);
+ memset(robufs, 0, sizeof(robufs));
/* Insert more packets
* RB[] = {NULL, NULL, NULL, NULL}
@@ -313,6 +314,7 @@ test_reorder_drain(void)
for (i = 0; i < 3; i++) {
rte_pktmbuf_free(robufs[i]);
}
+ memset(robufs, 0, sizeof(robufs));
/*
* RB[] = {NULL, NULL, NULL, NULL}