[dpdk-dev] [PATCH] raw/skeleton: fix test raw_attr set get failure

Thinh Tran thinhtr at linux.vnet.ibm.com
Tue Jun 11 23:44:12 CEST 2019


Using memory on the stack instead of on the heap by calling malloc
also avoid memory leak in case of test case failures

Fixes: 88d0e47880ec ("raw/skeleton: fix memory leak on test failure")

Signed-off-by: Thinh Tran <thinhtr at linux.vnet.ibm.com>
---
 drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
index 359c9e296..3250c2296 100644
--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
@@ -274,17 +274,14 @@ static int
 test_rawdev_attr_set_get(void)
 {
 	int ret;
-	int *dummy_value;
+	int *dummy_value, set_value;
 	uint64_t ret_value;
 
 	/* Set an attribute and fetch it */
 	ret = rte_rawdev_set_attr(TEST_DEV_ID, "Test1", 100);
 	RTE_TEST_ASSERT(!ret, "Unable to set an attribute (Test1)");
 
-	dummy_value = malloc(sizeof(int));
-	if (!dummy_value)
-		RTE_TEST_ASSERT(1, "Unable to allocate memory (dummy_value)");
-
+	dummy_value = &set_value;
 	*dummy_value = 200;
 	ret = rte_rawdev_set_attr(TEST_DEV_ID, "Test2", (uintptr_t)dummy_value);
 
@@ -294,11 +291,9 @@ test_rawdev_attr_set_get(void)
 			      "Attribute (Test1) not set correctly (%" PRIu64 ")",
 			      ret_value);
 
-	free(dummy_value);
-
 	ret_value = 0;
 	ret = rte_rawdev_get_attr(TEST_DEV_ID, "Test2", &ret_value);
-	RTE_TEST_ASSERT_EQUAL(*((int *)(uintptr_t)ret_value), 200,
+	RTE_TEST_ASSERT_EQUAL(*((int *)(uintptr_t)ret_value), set_value,
 			      "Attribute (Test2) not set correctly (%" PRIu64 ")",
 			      ret_value);
 
-- 
2.21.0.windows.1



More information about the dev mailing list