summaryrefslogtreecommitdiffstats
path: root/src/fan/LMI_FanSensorProvider.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fan/LMI_FanSensorProvider.c')
-rw-r--r--src/fan/LMI_FanSensorProvider.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/fan/LMI_FanSensorProvider.c b/src/fan/LMI_FanSensorProvider.c
index e63d266..9b9d750 100644
--- a/src/fan/LMI_FanSensorProvider.c
+++ b/src/fan/LMI_FanSensorProvider.c
@@ -56,6 +56,7 @@ static CMPIStatus LMI_FanSensorEnumInstances(
const CMPIObjectPath* cop,
const char** properties)
{
+ CMPIStatus status;
char buf[200];
struct cim_fan *sptr = NULL;
struct fanlist *lptr = NULL, *fans = NULL;
@@ -163,9 +164,16 @@ static CMPIStatus LMI_FanSensorEnumInstances(
LMI_FanSensor_Set_MinReadable(&w, 0);
LMI_FanSensor_Set_IsLinear(&w, true);
- KReturnInstance(cr, w);
+ status = __KReturnInstance((cr), &(w).__base);
+ if (!KOkay(status)) {
+ free_fanlist(fans);
+ return status;
+ }
+
lptr = lptr->next;
}
+
+ free_fanlist(fans);
CMReturn(CMPI_RC_OK);
}