[1/3] advapi32: Use STATUS_BUFFER_TOO_SMALL for buffer overflows in RegQueryInfoKeyW.
Thomas Faber
thomas.faber at reactos.org
Tue May 19 09:13:26 CDT 2015
-------------- next part --------------
From a07ca03a886774a1c84d09341161b73dbed9bac4 Mon Sep 17 00:00:00 2001
From: Thomas Faber <thomas.faber at reactos.org>
Date: Tue, 19 May 2015 09:59:09 -0400
Subject: 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));
--
1.7.1
More information about the wine-patches
mailing list