Paul Gofman (@gofman) commented about dlls/ntdll/unix/sync.c:
- if ((ret = inproc_wait( count, handles, type, alertable, timeout )) != STATUS_NOT_IMPLEMENTED) + /* Reject pseudo-handles up front. These are not valid for multi-object waits. */ + for (i = 0; i < count; i++) { - TRACE( "-> %#x\n", ret ); - return ret; + if ((ULONG)(ULONG_PTR)handles[i] >= 0xfffffffa) + { + ret = STATUS_INVALID_HANDLE; + goto out; + } }
+ if ((ret = inproc_wait( count, handles, type, alertable, timeout )) != STATUS_NOT_IMPLEMENTED) + goto out;
same here, let's get rid of label and jump only meant to reuse a TRACE and better keep TRACE duplicated. That's also two lines FWIW. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9305#note_120164