From d833146644272d90693066cc0a706b9933824b3e Mon Sep 17 00:00:00 2001 From: Len Brown Date: Sat, 23 May 2026 18:37:20 -0400 Subject: [PATCH] x86_energy_perf_policy: Use calloc to initialize string buffer strstr was being run on a potentially unterminated buffer. Assisted-by: GitHub-Copilot:Claude-Sonnet-4.6 Reviewed-by: Andy Shevchenko Signed-off-by: Len Brown --- .../x86/x86_energy_perf_policy/x86_energy_perf_policy.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 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 b1754070f095..904ab803f5c7 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 @@ -784,10 +784,10 @@ void err_on_hypervisor(void) /* On VMs /proc/cpuinfo contains a "flags" entry for hypervisor */ cpuinfo = fopen_or_die("/proc/cpuinfo", "r"); - buffer = malloc(4096); + buffer = calloc(4096, 1); if (!buffer) { fclose(cpuinfo); - err(-ENOMEM, "buffer malloc fail"); + err(-ENOMEM, "buffer calloc fail"); } if (!fread(buffer, 1024, 1, cpuinfo)) { @@ -816,11 +816,10 @@ void err_on_hypervisor(void) fclose(cpuinfo); hypervisor = strstr(buffer, "hypervisor"); - - free(buffer); - if (hypervisor) err(-1, "not supported on this virtual machine"); + + free(buffer); } /*