Module: wine Branch: master Commit: 60bece33a4bb1b9704e8e78b48aa6ee701effc92 URL: https://source.winehq.org/git/wine.git/?a=commit;h=60bece33a4bb1b9704e8e78b4...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Nov 29 21:17:41 2021 +0100
winemac.drv: Fix RegQueryValueExW size handling.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winemac.drv/display.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c index 99c852d7ffe..fe48437849d 100644 --- a/dlls/winemac.drv/display.c +++ b/dlls/winemac.drv/display.c @@ -461,12 +461,11 @@ static struct display_mode_descriptor* create_original_display_mode_descriptor(C size = 0; if (RegQueryValueExW(hkey, pixelencodingW, 0, &type, NULL, &size) || type != REG_SZ) goto done; - pixel_encoding = HeapAlloc(GetProcessHeap(), 0, size * sizeof(WCHAR)); + size += sizeof(WCHAR); + pixel_encoding = HeapAlloc(GetProcessHeap(), 0, size); if (RegQueryValueExW(hkey, pixelencodingW, 0, &type, (BYTE*)pixel_encoding, &size) || type != REG_SZ) goto done; - if ((end = memchrW(pixel_encoding, 0, size))) - size = end - pixel_encoding; - desc->pixel_encoding = CFStringCreateWithCharacters(NULL, (const UniChar*)pixel_encoding, size); + desc->pixel_encoding = CFStringCreateWithCharacters(NULL, (const UniChar*)pixel_encoding, strlenW(pixel_encoding));
ret = desc;