From 1b7b922cb04785c530e43c76d2363e564217b35c Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sat, 25 Apr 2015 20:34:35 +0000 Subject: [PATCH] [ADVAPI32] - Account for RegQueryInfoKey no longer including the null terminator in EnumHKCRKey/EnumHKCRValue CORE-6976 svn path=/trunk/; revision=67426 --- reactos/dll/win32/advapi32/reg/hkcr.c | 6 ++++-- reactos/dll/win32/advapi32/reg/reg.c | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/advapi32/reg/hkcr.c b/reactos/dll/win32/advapi32/reg/hkcr.c index f0b4a83cde8..2119c3b6c82 100644 --- a/reactos/dll/win32/advapi32/reg/hkcr.c +++ b/reactos/dll/win32/advapi32/reg/hkcr.c @@ -711,11 +711,12 @@ EnumHKCRKey( goto Exit; } + MaxFallbackSubKeyLen++; TRACE("Maxfallbacksubkeylen: %d\n", MaxFallbackSubKeyLen); /* Allocate our buffer */ FallbackSubKeyName = RtlAllocateHeap( - RtlGetProcessHeap(), 0, (MaxFallbackSubKeyLen + 1) * sizeof(WCHAR)); + RtlGetProcessHeap(), 0, MaxFallbackSubKeyLen * sizeof(WCHAR)); if (!FallbackSubKeyName) { ErrorCode = ERROR_NOT_ENOUGH_MEMORY; @@ -925,11 +926,12 @@ EnumHKCRValue( goto Exit; } + MaxFallbackValueNameLen++; TRACE("Maxfallbacksubkeylen: %d\n", MaxFallbackValueNameLen); /* Allocate our buffer */ FallbackValueName = RtlAllocateHeap( - RtlGetProcessHeap(), 0, (MaxFallbackValueNameLen + 1) * sizeof(WCHAR)); + RtlGetProcessHeap(), 0, MaxFallbackValueNameLen * sizeof(WCHAR)); if (!FallbackValueName) { ErrorCode = ERROR_NOT_ENOUGH_MEMORY; diff --git a/reactos/dll/win32/advapi32/reg/reg.c b/reactos/dll/win32/advapi32/reg/reg.c index 8e9c3f0c547..a6aa22ecae5 100644 --- a/reactos/dll/win32/advapi32/reg/reg.c +++ b/reactos/dll/win32/advapi32/reg/reg.c @@ -3789,7 +3789,6 @@ RegQueryInfoKeyW(HKEY hKey, lpftLastWriteTime->dwHighDateTime = FullInfo->LastWriteTime.u.HighPart; } - ErrorCode = ERROR_SUCCESS; if (lpClass != NULL) { if (*lpcClass == 0) -- 2.17.1