osaf/services/saf/smfsv/smfd/smfd_smfnd.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


smfd may free wrong SmfndNodeT pointer when a smfd node director report UP and 
the saClmInitialize() call fail.
This will make the node to crash when used next time.

diff --git a/osaf/services/saf/smfsv/smfd/smfd_smfnd.c 
b/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
--- a/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
@@ -141,7 +141,7 @@ uint32_t smfnd_up(SaClmNodeIdT i_node_id
        rc = saClmInitialize(&clmHandle, NULL, &clmVersion);
        if (rc != SA_AIS_OK) {
                LOG_ER("saClmInitialize failed, rc=%s", saf_error(rc));
-               free(smfnd);
+               if (newNode) free(smfnd);
                pthread_mutex_unlock(&smfnd_list_lock);
                return NCSCC_RC_FAILURE;
        }

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to