From 4f5c53dfe729cfdc40518fdb155dde66cfa7a8e4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Fri, 7 Feb 2014 23:35:06 +0000 Subject: [PATCH] [WIN32K] - Slightly improve the way the Device Description is retrieved. - Slightly improve registry function. svn path=/trunk/; revision=62029 --- reactos/win32ss/gdi/eng/device.c | 3 ++- reactos/win32ss/user/ntuser/misc/registry.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/win32ss/gdi/eng/device.c b/reactos/win32ss/gdi/eng/device.c index 32d0ce629fb..d5b65ccff61 100644 --- a/reactos/win32ss/gdi/eng/device.c +++ b/reactos/win32ss/gdi/eng/device.c @@ -113,7 +113,8 @@ EngpRegisterGraphicsDevice( pGraphicsDevice->pwszDescription = pwsz + pustrDiplayDrivers->Length / sizeof(WCHAR); RtlCopyMemory(pGraphicsDevice->pwszDescription, pustrDescription->Buffer, - pustrDescription->Length + sizeof(WCHAR)); + pustrDescription->Length); + pGraphicsDevice->pwszDescription[pustrDescription->Length/sizeof(WCHAR)] = 0; /* Initialize the pdevmodeInfo list and default index */ pGraphicsDevice->pdevmodeInfo = NULL; diff --git a/reactos/win32ss/user/ntuser/misc/registry.c b/reactos/win32ss/user/ntuser/misc/registry.c index 81dff489ebf..9258027299d 100644 --- a/reactos/win32ss/user/ntuser/misc/registry.c +++ b/reactos/win32ss/user/ntuser/misc/registry.c @@ -58,7 +58,7 @@ RegQueryValue( ULONG cbInfoSize, cbDataSize; /* Check if the local buffer is sufficient */ - cbInfoSize = FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data) + *pcbValue; + cbInfoSize = FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data[*pcbValue]); if (cbInfoSize <= sizeof(ajBuffer)) { pInfo = (PVOID)ajBuffer; @@ -82,7 +82,7 @@ RegQueryValue( cbInfoSize, &cbInfoSize); - cbDataSize = cbInfoSize - FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data); + cbDataSize = pInfo->DataLength; /* Note: STATUS_BUFFER_OVERFLOW is not a success */ if (NT_SUCCESS(Status)) -- 2.17.1