mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
ID: 3601265 - # ipmitool sensor get; leaks memory
Commit fixes memory leak in ipmi_sensor_get() caused by not free()-ing sdr_record_list.
This commit is contained in:
parent
c97d9d5b85
commit
86805c2146
@ -845,7 +845,6 @@ ipmi_sensor_get_reading(struct ipmi_intf *intf, int argc, char **argv)
|
|||||||
static int
|
static int
|
||||||
ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
|
ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
|
||||||
{
|
{
|
||||||
struct sdr_record_list *sdr;
|
|
||||||
int i, v;
|
int i, v;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
@ -861,6 +860,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
|
|||||||
|
|
||||||
/* 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,6 +875,7 @@ ipmi_sensor_get(struct ipmi_intf *intf, int argc, char **argv)
|
|||||||
rc = (-1);
|
rc = (-1);
|
||||||
}
|
}
|
||||||
verbose = v;
|
verbose = v;
|
||||||
|
free(sdr);
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user