summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2026-05-06 10:00:00 -0400
committerLen Brown <len.brown@intel.com>2026-09-29 14:53:09 -0400
commite6362acc3e89275fd9eb4152c6f01ac0684e1052 (patch)
treee24a624f1fc42a62162783698beda0f475a6d29f
parent29da235d5d1f378b691abd94fac75735fda93f13 (diff)
downloadlinux-next-e6362acc3e89275fd9eb4152c6f01ac0684e1052.tar.gz
linux-next-e6362acc3e89275fd9eb4152c6f01ac0684e1052.zip
x86_energy_perf_policy: Prevent unlikely buffer overflow
Protect update_cpufreq_scaling_freq() from buffer overflow if somehow it was called with a 13-digit CPU number... Fixes: f1c35c73191b ("tools/power x86_energy_perf_policy: Version 2026.04.25") Assisted-by: GitHub-Copilot:Claude-Sonnet-4.6 Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c4
1 files 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 abd3cf2fdd39..3c4e376f6c77 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
@@ -1166,12 +1166,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) {