Sebastian Lackner : kernel32: Return proper char count in get_registry_locale_info.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Dec 16 15:06:06 CST 2014


Module: wine
Branch: master
Commit: 8826ba1bc86fefa22c543608585ae8f3b4310a5f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8826ba1bc86fefa22c543608585ae8f3b4310a5f

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Tue Dec 16 04:10:34 2014 +0100

kernel32: Return proper char count in get_registry_locale_info.

---

 dlls/kernel32/locale.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 5fee723..1460f7a 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -1206,7 +1206,9 @@ static INT get_registry_locale_info( struct registry_value *registry_value, LPWS
         {
             if (status == STATUS_BUFFER_OVERFLOW && !buffer)
             {
-                ret = (size - info_size) / sizeof(WCHAR) + 1;
+                ret = (size - info_size) / sizeof(WCHAR);
+                if (!ret || ((WCHAR *)&info->Data)[ret-1])
+                    ret++;
             }
             else if (status == STATUS_OBJECT_NAME_NOT_FOUND)
             {




More information about the wine-cvs mailing list