When sending synchronous IPC requests, the caller must free the response 
buffer even if the request returned failure. Fix the code to correctly 
use the IPC API.

Bugzilla ID: 228
Fixes: 660098d61f57 ("pdump: use generic multi-process channel")
Cc: jianfeng....@intel.com
Cc: sta...@dpdk.org
Signed-off-by: Herakliusz Lipiec <herakliusz.lip...@intel.com>
Acked-By: Reshma Pattan <reshma.pat...@intel.com>
---
 lib/librte_pdump/rte_pdump.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index 14744b9ff..3787c3e32 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -525,8 +525,8 @@ pdump_prepare_client_request(char *device, uint16_t queue,
                rte_errno = resp->err_value;
                if (!resp->err_value)
                        ret = 0;
-               free(mp_reply.msgs);
        }
+       free(mp_reply.msgs);
 
        if (ret < 0)
                RTE_LOG(ERR, PDUMP,
-- 
2.17.2

Reply via email to