From 74bd795c99e4ca8c4d9b35ae7294b535f49689a3 Mon Sep 17 00:00:00 2001 From: Len Brown Date: Wed, 6 May 2026 10:00:00 -0400 Subject: [PATCH] x86_energy_perf_policy: Harden update_cpufreq_scaling_freq() Protect update_cpufreq_scaling_freq() from buffer overflow if somehow it was called with a huge CPU number. Reviewed-by: Andy Shevchenko Signed-off-by: Len Brown --- .../power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 8a15093a485e..da89b267f357 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -1167,12 +1167,12 @@ int ratio_2_sysfs_khz(int ratio) */ void update_cpufreq_scaling_freq(int is_max, int cpu, unsigned int ratio) { - char pathname[64]; + char pathname[96]; FILE *fp; int retval; int khz; - sprintf(pathname, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_%s_freq", cpu, is_max ? "max" : "min"); + snprintf(pathname, sizeof(pathname), "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_%s_freq", cpu, is_max ? "max" : "min"); fp = fopen(pathname, "w"); if (!fp) {