From 1f56a63145993a4fcdd0dd47fcccb7484129fe0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Sat, 3 Apr 2004 13:12:43 +0000 Subject: [PATCH] Handle lpcbData == NULL case. svn path=/trunk/; revision=8957 --- reactos/lib/advapi32/reg/reg.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reactos/lib/advapi32/reg/reg.c b/reactos/lib/advapi32/reg/reg.c index c8ab9e66bc3..843e9410f92 100644 --- a/reactos/lib/advapi32/reg/reg.c +++ b/reactos/lib/advapi32/reg/reg.c @@ -1,4 +1,4 @@ -/* $Id: reg.c,v 1.45 2004/04/01 13:53:08 ekohl Exp $ +/* $Id: reg.c,v 1.46 2004/04/03 13:12:43 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -2292,13 +2292,16 @@ RegQueryValueExA (HKEY hKey, RtlCreateUnicodeStringFromAsciiz (&ValueName, (LPSTR)lpValueName); - Length = *lpcbData * sizeof(WCHAR); + if (NULL != lpcbData) + { + Length = *lpcbData * sizeof(WCHAR); + } ErrorCode = RegQueryValueExW (hKey, ValueName.Buffer, lpReserved, &Type, (LPBYTE)ValueData.Buffer, - &Length); + NULL == lpcbData ? NULL : &Length); DPRINT("ErrorCode %lu\n", ErrorCode); if (ErrorCode == ERROR_SUCCESS || @@ -2322,7 +2325,7 @@ RegQueryValueExA (HKEY hKey, } Length = Length / sizeof(WCHAR); } - else + else if (lpcbData != NULL) { Length = min(*lpcbData, Length); if (ErrorCode == ERROR_SUCCESS && ValueData.Buffer != NULL)