Thomas Faber : advapi32: Use STATUS_BUFFER_TOO_SMALL for buffer overflows in RegQueryInfoKeyW.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed May 20 10:04:11 CDT 2015
Module: wine
Branch: master
Commit: b6c31bea3df9a6b0da381e48a85a74580619399a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b6c31bea3df9a6b0da381e48a85a74580619399a
Author: Thomas Faber <thomas.faber at reactos.org>
Date: Tue May 19 09:59:09 2015 -0400
advapi32: Use STATUS_BUFFER_TOO_SMALL for buffer overflows in RegQueryInfoKeyW.
---
dlls/advapi32/registry.c | 2 +-
dlls/advapi32/tests/registry.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index 06833d6..633c0c4 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -865,7 +865,7 @@ LSTATUS WINAPI RegQueryInfoKeyW( HKEY hkey, LPWSTR class, LPDWORD class_len, LPD
if (class_len && (info->ClassLength/sizeof(WCHAR) + 1 > *class_len))
{
- status = STATUS_BUFFER_OVERFLOW;
+ status = STATUS_BUFFER_TOO_SMALL;
}
else
{
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
index 20b9bd8..c862b46 100644
--- a/dlls/advapi32/tests/registry.c
+++ b/dlls/advapi32/tests/registry.c
@@ -1823,7 +1823,7 @@ static void test_reg_query_info(void)
memset(classbufferW, 0x55, sizeof(classbufferW));
classlen = 1;
ret = RegQueryInfoKeyW(subkey, classbufferW, &classlen, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
- todo_wine ok(ret == ERROR_INSUFFICIENT_BUFFER, "ret = %d\n", ret);
+ ok(ret == ERROR_INSUFFICIENT_BUFFER, "ret = %d\n", ret);
ok(classlen == 0 /* win8 */ ||
classlen == strlen(subkey_class), "classlen = %u\n", classlen);
memset(expectbufferW, 0x55, sizeof(expectbufferW));
@@ -1846,7 +1846,7 @@ static void test_reg_query_info(void)
memset(classbufferW, 0x55, sizeof(classbufferW));
classlen = sizeof(subkey_class) - 1;
ret = RegQueryInfoKeyW(subkey, classbufferW, &classlen, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
- todo_wine ok(ret == ERROR_INSUFFICIENT_BUFFER, "ret = %d\n", ret);
+ ok(ret == ERROR_INSUFFICIENT_BUFFER, "ret = %d\n", ret);
ok(classlen == sizeof(subkey_class) - 2 /* win8 */ ||
classlen == strlen(subkey_class), "classlen = %u\n", classlen);
memset(expectbufferW, 0x55, sizeof(expectbufferW));
More information about the wine-cvs
mailing list