Module: wine Branch: master Commit: d93e2899778fabd5e8231ca768432b47542d7b98 URL: https://gitlab.winehq.org/wine/wine/-/commit/d93e2899778fabd5e8231ca768432b4...
Author: Paul Gofman pgofman@codeweavers.com Date: Wed Nov 8 17:38:10 2023 -0600
kernelbase: Return empty string from LoadStringW() if resource is not found.
---
dlls/kernelbase/string.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/kernelbase/string.c b/dlls/kernelbase/string.c index 798bc1f3d63..a372605bee0 100644 --- a/dlls/kernelbase/string.c +++ b/dlls/kernelbase/string.c @@ -1229,11 +1229,13 @@ INT WINAPI DECLSPEC_HOTPATCH LoadStringW(HINSTANCE instance, UINT resource_id, L if (!buffer) return 0;
- /* Use loword (incremented by 1) as resourceid */ - hrsrc = FindResourceW(instance, MAKEINTRESOURCEW((LOWORD(resource_id) >> 4) + 1), (LPWSTR)RT_STRING); - if (!hrsrc) return 0; - hmem = LoadResource(instance, hrsrc); - if (!hmem) return 0; + if (!(hrsrc = FindResourceW(instance, MAKEINTRESOURCEW((LOWORD(resource_id) >> 4) + 1), (LPWSTR)RT_STRING)) || + !(hmem = LoadResource(instance, hrsrc))) + { + TRACE( "Failed to load string.\n" ); + if (buflen > 0) buffer[0] = 0; + return 0; + }
p = LockResource(hmem); string_num = resource_id & 0x000f;