diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2018-05-31 15:12:26 -0500 |
---|---|---|
committer | Nicholas E. Bofferding <bofferdn@us.ibm.com> | 2018-06-04 11:30:30 -0400 |
commit | 6359b6a6e881a569c8588b6f2701a71e479fb5ae (patch) | |
tree | 3950407291902ceb9fefff5664df58ea941acbe9 /src/usr/errl | |
parent | a0ea8ab738073bc5c31c25d9f44fca0dfe09df16 (diff) | |
download | talos-hostboot-6359b6a6e881a569c8588b6f2701a71e479fb5ae.tar.gz talos-hostboot-6359b6a6e881a569c8588b6f2701a71e479fb5ae.zip |
Fix memory leaks associated with various msg_sendrecv calls
Change-Id: I30bb6627610391aea248d4a3c4d722ef1695b02f
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59677
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Diffstat (limited to 'src/usr/errl')
-rw-r--r-- | src/usr/errl/errlmanager.C | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/usr/errl/errlmanager.C b/src/usr/errl/errlmanager.C index 24008e7ea..4476640f7 100644 --- a/src/usr/errl/errlmanager.C +++ b/src/usr/errl/errlmanager.C @@ -821,13 +821,17 @@ void ErrlManager::flushErrorLogs() TRACDCOMP( g_trac_errl, ENTER_MRK "ErrlManager::flushErrorLogs" ); // Create message to send to msg handler - msg_t *msg = NULL; + msg_t *msg = nullptr; msg = msg_allocate(); msg->type = ERRLOG_FLUSH_TYPE; do{ // Send message to msg handler, get msg back on l_RecvMsgQ int rc = msg_sendrecv(iv_msgQ,msg); + // Always free the message since send/recv implies ownership + msg_free(msg); + msg=nullptr; + if(rc) { TRACFCOMP(g_trac_errl, "Error sending error log flush message. " |