summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt K. Light <mklight@us.ibm.com>2017-07-26 16:21:18 -0500
committerDean Sanner <dsanner@us.ibm.com>2017-07-28 15:19:46 -0400
commitf85d893d45c80ceec577cdd22e74bf89302af4e1 (patch)
treea4377feed1438fcc880e7363c361b59ef5c69c20
parent8241b8e65af1a7df17c64341efcabc080a679597 (diff)
downloadtalos-hostboot-f85d893d45c80ceec577cdd22e74bf89302af4e1.tar.gz
talos-hostboot-f85d893d45c80ceec577cdd22e74bf89302af4e1.zip
fix mem leaks related to process_gptr_rings
Change-Id: I8c911a7515a8182ed1373ea0393e48be20548018 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43713 Dev-Ready: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Claus M. Olsen <cmolsen@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43719 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C b/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C
index 0ee79c06b..243fffc3e 100644
--- a/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C
+++ b/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C
@@ -295,6 +295,17 @@ fapi2::ReturnCode get_overlays_ring(
memcpy(*io_ringBuf3, data, byteCopy);
memcpy(((uint8_t*)(*io_ringBuf3) + MAX_RING_BUF_SIZE / 2), care, byteCopy);
+ // free memory allocated by rs4_decompress
+ if (data)
+ {
+ free(data);
+ }
+
+ if (care)
+ {
+ free(care);
+ }
+
// For debug and testing
FAPI_DBG("Overlay raw data+care ring size=%d bits", l_ovlyUncmpSize);
//print_raw_ring( data, l_ovlyUncmpSize);
@@ -487,6 +498,22 @@ fapi2::ReturnCode apply_overlays_ring(
// Copy rs4 ring into i_vpdRing
memcpy(io_vpdRing, rs4Ring, rs4Ring->iv_size);
+ // free memory allocated by rs4_(de)compress
+ if (dataVpd)
+ {
+ free(dataVpd);
+ }
+
+ if (careVpd)
+ {
+ free(careVpd);
+ }
+
+ if (rs4Ring)
+ {
+ free(rs4Ring);
+ }
+
fapi_try_exit:
FAPI_DBG("Exiting apply_overlays_ring");
return fapi2::current_err;
OpenPOWER on IntegriCloud