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); } /*