[PATCH 0/1] MR7637: wow64: skip memcpy for null pointer
It looks like according to the C spec, calling memcpy(0, 0, 0) results in undefined behavior. See also https://developers.redhat.com/articles/2024/12/11/making-memcpynull-null-0-w... Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56154 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7637
From: Vitaly Lipatov <lav(a)etersoft.ru> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56154 --- dlls/wow64/security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/wow64/security.c b/dlls/wow64/security.c index 49f4adea3c1..a7616331600 100644 --- a/dlls/wow64/security.c +++ b/dlls/wow64/security.c @@ -471,7 +471,7 @@ NTSTATUS WINAPI wow64_NtQueryInformationToken( UINT *args ) if (!status) { dacl32->DefaultDacl = dacl->DefaultDacl ? PtrToUlong( dacl32 + 1 ) : 0; - memcpy( dacl32 + 1, dacl->DefaultDacl, ret_size - sizeof(*dacl) ); + if (dacl->DefaultDacl) memcpy( dacl32 + 1, dacl->DefaultDacl, ret_size - sizeof(*dacl) ); } if (retlen) *retlen = ret_size + sizeof(*dacl32) - sizeof(*dacl); return status; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7637
participants (2)
-
Vitaly Lipatov -
Vitaly Lipatov (@lav)