diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index 2826a250796..c598d9e1784 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -3277,6 +3277,7 @@ pmc_init(void) return (pmc_syscall = -1); } + bzero(&op_cpu_info, sizeof(op_cpu_info)); if (PMC_CALL(GETCPUINFO, &op_cpu_info) < 0) return (pmc_syscall = -1); @@ -3284,7 +3285,7 @@ pmc_init(void) cpu_info.pm_ncpu = op_cpu_info.pm_ncpu; cpu_info.pm_npmc = op_cpu_info.pm_npmc; cpu_info.pm_nclass = op_cpu_info.pm_nclass; - for (n = 0; n < cpu_info.pm_nclass; n++) + for (n = 0; n < op_cpu_info.pm_nclass; n++) memcpy(&cpu_info.pm_classes[n], &op_cpu_info.pm_classes[n], sizeof(cpu_info.pm_classes[n]));