ID: 3601265 - # ipmitool sensor get; leaks memory

ID: 3601106 - # ipmitool sensor get NACname; output incorrect/inconsistent

After a lengthy discussion with Jim, I'm removing free() of sdr_record_list in
ipmi_sensor_get() as this is freed in 'lib/ipmi_main.c' on/prior to ipmitool's
exit.
This commit is contained in:
Zdenek Styblik 2013-01-23 11:24:05 +00:00
parent 37861d60e4
commit 6e87e423eb

View File

@ -847,6 +847,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
{ {
int i, v; int i, v;
int rc = 0; int rc = 0;
struct sdr_record_list *sdr;
if (argc < 1) { if (argc < 1) {
lprintf(LOG_ERR, "Not enough parameters given."); lprintf(LOG_ERR, "Not enough parameters given.");
@ -857,10 +858,8 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
return 0; return 0;
} }
printf("Locating sensor record...\n"); printf("Locating sensor record...\n");
/* lookup by sensor name */ /* lookup by sensor name */
for (i = 0; i < argc; i++) { for (i = 0; i < argc; i++) {
struct sdr_record_list *sdr;
sdr = ipmi_sdr_find_sdr_byid(intf, argv[i]); sdr = ipmi_sdr_find_sdr_byid(intf, argv[i]);
if (sdr == NULL) { if (sdr == NULL) {
lprintf(LOG_ERR, "Sensor data record \"%s\" not found!", lprintf(LOG_ERR, "Sensor data record \"%s\" not found!",
@ -875,7 +874,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
rc = (-1); rc = (-1);
} }
verbose = v; verbose = v;
free(sdr); sdr = NULL;
} }
return rc; return rc;
} }