From 984ebb419fdffc71604c88e9595d65701709785f Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sun, 26 Aug 2007 21:20:55 +0000 Subject: [PATCH] Fix a memory leak on error when printing an unknown chip. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4727 7894878c-1315-0410-8ee3-d5d059ff63e0 --- CHANGES | 1 + prog/sensors/chips.c | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 6b170d7e..f0e8df23 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,7 @@ SVN HEAD Module fscher: Add missing read of control register (2.6 backport) Module i2c-piix4: Add ATI SB700 support (2.6 backport) Module lm93: Fix an array overrun (2.6 backport) + Program sensors: Fix a memory leak on error (with -u) Program sensors-detect: Don't probe i2c-isa as a regular i2c bus Add Winbond W83L786NR/NG/R/G detection Add Winbond W83L771W/G detection diff --git a/prog/sensors/chips.c b/prog/sensors/chips.c index 711d3b59..bb407f80 100644 --- a/prog/sensors/chips.c +++ b/prog/sensors/chips.c @@ -6268,14 +6268,14 @@ void print_unknown_chip(const sensors_chip_name *name) printf("ERROR: Can't get feature `%s' label!\n", data->name); continue; } - if (! valid) + if (!valid) { + free(label); continue; + } if (data->mode & SENSORS_MODE_R) { - if(sensors_get_feature(*name,data->number,&val)) { + if(sensors_get_feature(*name,data->number,&val)) printf("ERROR: Can't get feature `%s' data!\n",data->name); - continue; - } - if (data->mapping != SENSORS_NO_MAPPING) + else if (data->mapping != SENSORS_NO_MAPPING) printf(" %s: %.2f (%s)\n",label,val,data->name); else printf("%s: %.2f (%s)\n",label,val,data->name);