summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_cpuerr.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_cpuerr.c b/usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_cpuerr.c
index 4e1891898e..924b73671f 100644
--- a/usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_cpuerr.c
+++ b/usr/src/cmd/fm/modules/sun4/cpumem-diagnosis/cmd_cpuerr.c
@@ -81,12 +81,14 @@ cmd_cpuerr_common(fmd_hdl_t *hdl, fmd_event_t *ep, cmd_cpu_t *cpu,
fmd_case_add_serd(hdl, cc->cc_cp, cc->cc_serdnm);
} else {
- fmd_hdl_debug(hdl,
- "destroying existing %s state for class %x\n",
- cc->cc_serdnm, clcode);
- fmd_serd_destroy(hdl, cc->cc_serdnm);
- fmd_hdl_strfree(hdl, cc->cc_serdnm);
- cc->cc_serdnm = NULL;
+ if (cc->cc_serdnm != NULL) {
+ fmd_hdl_debug(hdl,
+ "destroying existing %s state for class %x\n",
+ cc->cc_serdnm, clcode);
+ fmd_serd_destroy(hdl, cc->cc_serdnm);
+ fmd_hdl_strfree(hdl, cc->cc_serdnm);
+ cc->cc_serdnm = NULL;
+ }
fmd_case_reset(hdl, cc->cc_cp);
fmd_case_add_ereport(hdl, cc->cc_cp, ep);
}