app/bbdev: check memory allocation
authorMin Hu (Connor) <humin29@huawei.com>
Thu, 22 Apr 2021 09:25:05 +0000 (17:25 +0800)
committerAkhil Goyal <gakhil@marvell.com>
Wed, 5 May 2021 13:31:50 +0000 (15:31 +0200)
Return value of a function 'rte_malloc' is dereferenced without
checking, and may result in segmentation fault.

This patch fixed it.

Fixes: 31a7853d1ed9 ("baseband/turbo_sw: support large size code block")
Cc: stable@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
app/test-bbdev/test_bbdev_perf.c

index 45b85b9..f94e2a9 100644 (file)
@@ -957,6 +957,9 @@ init_op_data_objs(struct rte_bbdev_op_data *bufs,
                        if ((op_type == DATA_INPUT) && large_input) {
                                /* Allocate a fake overused mbuf */
                                data = rte_malloc(NULL, seg->length, 0);
+                               TEST_ASSERT_NOT_NULL(data,
+                                       "rte malloc failed with %u bytes",
+                                       seg->length);
                                memcpy(data, seg->addr, seg->length);
                                m_head->buf_addr = data;
                                m_head->buf_iova = rte_malloc_virt2iova(data);