diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2017-02-15 12:25:43 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-02-20 11:19:13 -0500 |
commit | e6e1cf5cf4cc57669a148e19ec1b9aadd40952c1 (patch) | |
tree | 7b88287984282d6491fd5089c1a8c0ca2ad0a123 /src | |
parent | 678260620b9bcc2d35f84a6f12dcaaa7e2f3a583 (diff) | |
download | talos-hostboot-e6e1cf5cf4cc57669a148e19ec1b9aadd40952c1.tar.gz talos-hostboot-e6e1cf5cf4cc57669a148e19ec1b9aadd40952c1.zip |
Fix crash in err manager RP when non acked errors in PNOR
Change-Id: If2a46c6311765fa5e86b4e2e211aa10e1fd25cbf
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36522
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/errl/errlmanager_common.C | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/usr/errl/errlmanager_common.C b/src/usr/errl/errlmanager_common.C index 431ca52fa..264b631d3 100644 --- a/src/usr/errl/errlmanager_common.C +++ b/src/usr/errl/errlmanager_common.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -622,13 +622,12 @@ void ErrlManager::sendErrLogToBmc(errlHndl_t &io_err, bool i_sendSels) if(!i_sendSels) { const char* l_prev_boot = "Error from a previous boot"; - ERRORLOG::ErrlUserDetailsString(l_prev_boot).addToLog(io_err); + // Create a raw user-defined section. It does a copy of the + // string constant, then once added to io_err, io_err owns mem + ErrlUD* l_ffdcSection = new ErrlUD(l_prev_boot, strlen(l_prev_boot), + ERRL_COMP_ID, 1, ERRL_UDT_STRING ); io_err->iv_SectionVector.insert(io_err->iv_SectionVector.begin(), - 1,io_err->iv_SectionVector.back()); - if(io_err->iv_SectionVector.size()!=0) - { - io_err->iv_SectionVector.pop_back(); - } + l_ffdcSection); } // flatten into buffer, truncate to max eSEL size |