diff options
Diffstat (limited to 'src/fan/LMI_FanSensorProvider.c')
-rw-r--r-- | src/fan/LMI_FanSensorProvider.c | 10 |
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); } |