diff --git a/dll/win32/kernel32/client/proc.c b/dll/win32/kernel32/client/proc.c index 3caf28e3c35..649dcd4f410 100644 --- a/dll/win32/kernel32/client/proc.c +++ b/dll/win32/kernel32/client/proc.c @@ -123,13 +123,25 @@ WINAPI BasepIsImageVersionOk(IN ULONG ImageMajorVersion, IN ULONG ImageMinorVersion) { - /* Accept images for NT 3.1 or higher, as long as they're not newer than us */ - return ((ImageMajorVersion >= 3) && - ((ImageMajorVersion != 3) || - (ImageMinorVersion >= 10)) && - (ImageMajorVersion <= SharedUserData->NtMajorVersion) && - ((ImageMajorVersion != SharedUserData->NtMajorVersion) || - (ImageMinorVersion <= SharedUserData->NtMinorVersion))); + /* Accept images for NT 3.1 or higher */ + if (ImageMajorVersion > 3 || + (ImageMajorVersion == 3 && ImageMinorVersion >= 10)) + { + /* ReactOS-specific: Accept images even if they are newer than our internal NT version. */ + if (ImageMajorVersion > SharedUserData->NtMajorVersion || + (ImageMajorVersion == SharedUserData->NtMajorVersion && ImageMinorVersion > SharedUserData->NtMinorVersion)) + { + DPRINT1("Accepting image version %lu.%lu, although ReactOS is an NT %hu.%hu OS!\n", + ImageMajorVersion, + ImageMinorVersion, + SharedUserData->NtMajorVersion, + SharedUserData->NtMinorVersion); + } + + return TRUE; + } + + return FALSE; } NTSTATUS