fix looks good to me
last nitpick: looking at existing tests, perhaps you'd better amend existing kernel32/tests/process.c:test_OpenProcess() instead of adding a brand new test function
the issue you're looking at is in fact hidden by somehow incorrect test.
something like this should be better (didn't test it though)
```plaintext diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c index e0f1d210e58..0e5bf82530b 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c @@ -1852,7 +1852,7 @@ static void test_OpenProcess(void) ok(info.Type == MEM_PRIVATE, "%lx != MEM_PRIVATE\n", info.Type); } else /* before win8 */ - ok(GetLastError() == ERROR_ACCESS_DENIED, "wrong error %ld\n", GetLastError()); + ok(broken(GetLastError() == ERROR_ACCESS_DENIED), "wrong error %ld\n", GetLastError()); SetLastError(0xdeadbeef); ok(!VirtualFreeEx(hproc, addr1, 0, MEM_RELEASE), ```