[v2] examples/fips_validation: fix resource leak on failure

Message ID 20201030173641.374525-1-ciara.power@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2] examples/fips_validation: fix resource leak on failure |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Power, Ciara Oct. 30, 2020, 5:36 p.m. UTC
  The wb_data variable went out of scope on failure in the
get_writeback_data function. This is now freed before returning -1.

Coverity issue: 363453
Fixes: 952e10cdad5e ("examples/fips_validation: support scatter gather list")
Cc: roy.fan.zhang@intel.com

Signed-off-by: Ciara Power <ciara.power@intel.com>

---
v2: Fixed incorrect pointer used in free.
---
 examples/fips_validation/main.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

David Marchand Oct. 31, 2020, 5:09 p.m. UTC | #1
On Fri, Oct 30, 2020 at 6:36 PM Ciara Power <ciara.power@intel.com> wrote:
>
> The wb_data variable went out of scope on failure in the
> get_writeback_data function. This is now freed before returning -1.
>
> Coverity issue: 363453
> Fixes: 952e10cdad5e ("examples/fips_validation: support scatter gather list")
>
> Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

Applied, thanks.
  

Patch

diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index 07532c9562..b37eb41c0d 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -1128,6 +1128,7 @@  get_writeback_data(struct fips_val *val)
 
 	if (data_len) {
 		RTE_LOG(ERR, USER1, "Error -1: write back data\n");
+		free(wb_data);
 		return -1;
 	}