diff options
| author | Matt K. Light <mklight@us.ibm.com> | 2017-07-26 16:21:18 -0500 |
|---|---|---|
| committer | Dean Sanner <dsanner@us.ibm.com> | 2017-07-28 15:19:46 -0400 |
| commit | f85d893d45c80ceec577cdd22e74bf89302af4e1 (patch) | |
| tree | a4377feed1438fcc880e7363c361b59ef5c69c20 | |
| parent | 8241b8e65af1a7df17c64341efcabc080a679597 (diff) | |
| download | talos-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.C | 27 |
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; |

