aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGoran Koruga <korugag@siol.net>2008-06-06 17:28:35 +0200
committerDominik Brodowski <linux@dominikbrodowski.net>2008-06-10 20:06:00 +0200
commitfef43b0d432dd9868e9cc86f92fb213f08eb9461 (patch)
treed3dcd9ea1aed2cd317a52c8d576c696708956e24
parent2f722bc306352fa2ba7ef651a31af50f8abdd036 (diff)
downloadcpufrequtils-fef43b0d432dd9868e9cc86f92fb213f08eb9461.tar.gz
Fixed memory leak in sysfs_get_policy().
This fixes a memory leak in sysfs_get_policy() when MIN or MAX frequency can't be determined. Signed-off-by: Goran Koruga <korugag@siol.net> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--lib/sysfs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sysfs.c b/lib/sysfs.c
index 5d256b5..9e23d76 100644
--- a/lib/sysfs.c
+++ b/lib/sysfs.c
@@ -218,8 +218,11 @@ struct cpufreq_policy * sysfs_get_policy(unsigned int cpu) {
}
policy->min = sysfs_get_one_value(cpu, SCALING_MIN_FREQ);
policy->max = sysfs_get_one_value(cpu, SCALING_MAX_FREQ);
- if ((!policy->min) || (!policy->max))
+ if ((!policy->min) || (!policy->max)) {
+ free(policy->governor);
+ free(policy);
return NULL;
+ }
return policy;
}