diff --git a/lib/data.c b/lib/data.c index ac4f72dc..e4fde056 100644 --- a/lib/data.c +++ b/lib/data.c @@ -67,6 +67,9 @@ int sensors_parse_chip_name(const char *orig_name, sensors_chip_name *res) char *name = strdup(orig_name); int i; + /* Play it safe */ + res->busname = NULL; + if (! name) sensors_fatal_error("sensors_parse_chip_name","Allocating new name"); /* First split name in upto four pieces. */ diff --git a/lib/init.c b/lib/init.c index 101a65c7..eceec29c 100644 --- a/lib/init.c +++ b/lib/init.c @@ -89,6 +89,7 @@ void free_proc_chips_entry(sensors_proc_chips_entry entry) void free_chip_name(sensors_chip_name name) { free(name.prefix); + free(name.busname); } void free_bus(sensors_bus bus)