From 1a3785d03f1e7c84bc8ed33eb9098a6ba187b7bb Mon Sep 17 00:00:00 2001 From: Veselin Georgiev Date: Wed, 5 Oct 2022 10:23:58 +0300 Subject: [PATCH] This would likely fix #172 (cpuid_tool.exe v0.6.0 doesn't work on my PC) --- libcpuid/cpuid_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index a7b4ed8..544eb51 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -194,6 +194,7 @@ static bool set_cpu_affinity(logical_cpu_t logical_cpu) int total_processors = 0; int group = 0; int number = 0; + int found = 0; HANDLE thread = GetCurrentThread(); GROUP_AFFINITY groupAffinity; @@ -202,10 +203,12 @@ static bool set_cpu_affinity(logical_cpu_t logical_cpu) if (total_processors + processors > logical_cpu) { group = i; number = logical_cpu - total_processors; + found = 1; break; } total_processors += processors; } + if (!found) return 0; // logical CPU # too large, does not exist memset(&groupAffinity, 0, sizeof(groupAffinity)); groupAffinity.Group = (WORD) group;