raw/skeleton: fix test raw_attr set get failure
Checks
Commit Message
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@linux.vnet.ibm.com>
---
drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thinh Tran
> Sent: Wednesday, June 12, 2019 3:14 AM
> To: dev@dpdk.org
> Cc: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> Subject: [dpdk-dev] [PATCH] raw/skeleton: fix test raw_attr set get failure
>
> 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@linux.vnet.ibm.com>
> ---
Thanks - I had ignored this issue for quite long now.
Acked-by: Shreyansh Jain <Shreyansh.jain@nxp.com>
12/06/2019 07:35, Shreyansh Jain:
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Thinh Tran
> > Sent: Wednesday, June 12, 2019 3:14 AM
> > To: dev@dpdk.org
> > Cc: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> > Subject: [dpdk-dev] [PATCH] raw/skeleton: fix test raw_attr set get failure
> >
> > 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")
Cc: stable@dpdk.org
> > Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> > ---
>
> Thanks - I had ignored this issue for quite long now.
>
> Acked-by: Shreyansh Jain <Shreyansh.jain@nxp.com>
Applied, thanks
@@ -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);