From 6fd9ecebd3bc277bd91ce057f85f8e54b09bb0a9 Mon Sep 17 00:00:00 2001 From: Michael Mullin Date: Thu, 22 Jan 2015 16:50:10 -0500 Subject: [PATCH] Powertop crashes with 'powertop --auto-tune' -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Please see the following patch to address the reported crash - --- - From e994a414f619410877023fce35ade12d1cfce68d Mon Sep 17 00:00:00 2001 From: Michael Mullin Date: Thu, 22 Jan 2015 16:33:31 -0500 Subject: [PATCH] If "dir" is closed early inside create_add_devfreq_devices() then there is a potential double free due to a second close during the cleanup phase in clear_all_devfreq() Signed-off-by: Michael Mullin - --- src/devices/devfreq.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- src/devices/devfreq.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git src/devices/devfreq.cpp src/devices/devfreq.cpp index d2e56e3..f652a57 100644 --- src/devices/devfreq.cpp +++ src/devices/devfreq.cpp @@ -247,6 +247,7 @@ void create_all_devfreq_devices(void) fprintf(stderr, "Devfreq not enabled\n"); is_enabled = false; closedir(dir); + dir = NULL; return; } @@ -327,6 +328,8 @@ void clear_all_devfreq() } all_devfreq.clear(); /* close /sys/class/devfreq */ - if (dir != NULL) + if (dir != NULL) { closedir(dir); + dir = NULL; + } }