Paul Gofman : kernelbase: Return empty string from LoadStringW() if resource is not found.
Module: wine Branch: master Commit: d93e2899778fabd5e8231ca768432b47542d7b98 URL: https://gitlab.winehq.org/wine/wine/-/commit/d93e2899778fabd5e8231ca768432b4... Author: Paul Gofman <pgofman(a)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;
participants (1)
-
Alexandre Julliard