From 86805c21469a40642c90b7034aba21cc064155e1 Mon Sep 17 00:00:00 2001 From: Zdenek Styblik Date: Thu, 17 Jan 2013 15:45:25 +0000 Subject: [PATCH] ID: 3601265 - # ipmitool sensor get; leaks memory Commit fixes memory leak in ipmi_sensor_get() caused by not free()-ing sdr_record_list. --- ipmitool/lib/ipmi_sensor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ipmitool/lib/ipmi_sensor.c b/ipmitool/lib/ipmi_sensor.c index 686c84f..9eb236c 100644 --- a/ipmitool/lib/ipmi_sensor.c +++ b/ipmitool/lib/ipmi_sensor.c @@ -845,7 +845,6 @@ ipmi_sensor_get_reading(struct ipmi_intf *intf, int argc, char **argv) static int ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv) { - struct sdr_record_list *sdr; int i, v; int rc = 0; @@ -861,6 +860,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv) /* lookup by sensor name */ for (i = 0; i < argc; i++) { + struct sdr_record_list *sdr; sdr = ipmi_sdr_find_sdr_byid(intf, argv[i]); if (sdr == NULL) { lprintf(LOG_ERR, "Sensor data record \"%s\" not found!", @@ -875,6 +875,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv) rc = (-1); } verbose = v; + free(sdr); } return rc; }