summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthew Raybuck <matthew.raybuck@ibm.com>2019-06-21 15:38:46 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-06-25 11:47:07 -0500
commit94e392de6a0a2dfb7426021491def8b13e3e01ec (patch)
tree51b783e6f890e3d16abb03a632c1da4c74d87881 /src
parent1b06c4f813fd7a8395ccfc93c9dea9b22dd488f1 (diff)
downloadtalos-hostboot-94e392de6a0a2dfb7426021491def8b13e3e01ec.tar.gz
talos-hostboot-94e392de6a0a2dfb7426021491def8b13e3e01ec.zip
Fix memory leak in nvdimm_update.C
Change-Id: I9e5574680ec0e48df560a72844cab3a641e14dd1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79351 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/isteps/nvdimm/nvdimm_update.C18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/usr/isteps/nvdimm/nvdimm_update.C b/src/usr/isteps/nvdimm/nvdimm_update.C
index 2f50c11b0..0a319360b 100644
--- a/src/usr/isteps/nvdimm/nvdimm_update.C
+++ b/src/usr/isteps/nvdimm/nvdimm_update.C
@@ -1939,6 +1939,10 @@ bool NvdimmsUpdate::runUpdate(void)
ERRL_GETPLID_SAFE(l_err));
commitPredictiveNvdimmError(l_err);
o_no_error_found = false;
+
+ // Delete the unused NvdimmInstalledImage pointer
+ delete l_installed_image;
+
continue;
}
@@ -1991,6 +1995,10 @@ bool NvdimmsUpdate::runUpdate(void)
l_err->addProcedureCallout( HWAS::EPUB_PRC_HB_CODE,
HWAS::SRCI_PRIORITY_LOW );
ERRORLOG::errlCommit(l_err, NVDIMM_COMP_ID);
+
+ // Delete the unused NvdimmInstalledImage object
+ delete l_installed_image;
+
continue;
}
}
@@ -2072,6 +2080,16 @@ bool NvdimmsUpdate::runUpdate(void)
}
} while (0); // end of flash update section
+ // Clean up the pointers used in v_NVDIMM_16GB_list and v_NVDIMM_32GB_list
+ for (const auto& pInstalledImage : v_NVDIMM_16GB_list)
+ {
+ delete pInstalledImage;
+ }
+ for (const auto& pInstalledImage : v_NVDIMM_32GB_list)
+ {
+ delete pInstalledImage;
+ }
+
return o_no_error_found;
}
OpenPOWER on IntegriCloud