From: Dāvis Mosāns <davispuh(a)gmail.com> --- dlls/kernelbase/loader.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/dlls/kernelbase/loader.c b/dlls/kernelbase/loader.c index 59b91596f13..7aff6bb9412 100644 --- a/dlls/kernelbase/loader.c +++ b/dlls/kernelbase/loader.c @@ -531,11 +531,25 @@ HMODULE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW( LPCWSTR name, HANDLE file, DWOR UNICODE_STRING str; HMODULE module; - if (!name) + if (!name || file) { + // file must be NULL SetLastError( ERROR_INVALID_PARAMETER ); return 0; } + + if ((flags & LOAD_LIBRARY_AS_DATAFILE) && (flags & LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE)) { + // Mutually exclusive + SetLastError( ERROR_INVALID_PARAMETER ); + return 0; + } + + if ((flags & LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) && (flags & LOAD_WITH_ALTERED_SEARCH_PATH)) { + // Can't mix default dirs with altered path + SetLastError( ERROR_INVALID_PARAMETER ); + return 0; + } + RtlInitUnicodeString( &str, name ); if (str.Buffer[str.Length/sizeof(WCHAR) - 1] != ' ') return load_library( &str, flags ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4587