Module: wine Branch: master Commit: b6c31bea3df9a6b0da381e48a85a74580619399a URL: http://source.winehq.org/git/wine.git/?a=commit;h=b6c31bea3df9a6b0da381e48a8...
Author: Thomas Faber thomas.faber@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));