From d4993c67cd8e9bb724ceeb26e0b252273c8184e1 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 19 Sep 2023 18:32:00 +0300 Subject: [PATCH] [CRT] Fix parameter check for _memicmp on NT 6+ Fixes a crash in msvcrt_winetest:string --- sdk/lib/crt/mem/memicmp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sdk/lib/crt/mem/memicmp.c b/sdk/lib/crt/mem/memicmp.c index b98608b3242..e99d9b2a2a2 100644 --- a/sdk/lib/crt/mem/memicmp.c +++ b/sdk/lib/crt/mem/memicmp.c @@ -8,6 +8,19 @@ int CDECL _memicmp(const void *s1, const void *s2, size_t n) { + if (NtCurrentPeb()->OSMajorVersion >= 6) + { + if (!s1 || !s2) + { + if (n != 0) + { + MSVCRT_INVALID_PMT(NULL, EINVAL); + return _NLSCMPERROR; + } + return 0; + } + } + if (n != 0) { const unsigned char *p1 = s1, *p2 = s2;