mirror of
https://github.com/wine-mirror/wine
synced 2024-07-08 20:06:18 +00:00
ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT.
This commit is contained in:
parent
4db02f7619
commit
54c3f96214
|
@ -311,7 +311,12 @@ static NTSTATUS RTL_ReportRegistryValue(PKEY_VALUE_FULL_INFORMATION pInfo,
|
|||
if (str->Buffer == NULL)
|
||||
RtlCreateUnicodeString(str, (WCHAR*)(((CHAR*)pInfo) + pInfo->DataOffset));
|
||||
else
|
||||
RtlAppendUnicodeToString(str, (WCHAR*)(((CHAR*)pInfo) + pInfo->DataOffset));
|
||||
{
|
||||
if (str->MaximumLength < len)
|
||||
return STATUS_BUFFER_TOO_SMALL;
|
||||
memcpy(str->Buffer, (char*)pInfo + pInfo->DataOffset, len);
|
||||
str->Length = len - sizeof(WCHAR);
|
||||
}
|
||||
break;
|
||||
|
||||
case REG_MULTI_SZ:
|
||||
|
|
|
@ -2673,6 +2673,11 @@ static struct query_reg_values_test query_reg_values_tests[] =
|
|||
{{ NULL, RTL_QUERY_REGISTRY_DIRECT, (WCHAR*)L"WindowsDrive", &query_reg_values_direct_str }},
|
||||
STATUS_SUCCESS, 0, 0, REG_SZ, L"C:"
|
||||
},
|
||||
{
|
||||
{{ NULL, RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_NOEXPAND, (WCHAR*)L"WindowsDrive",
|
||||
&query_reg_values_direct_str }},
|
||||
STATUS_SUCCESS, 0, 0, REG_SZ, L"%SYSTEMDRIVE%"
|
||||
},
|
||||
/* DIRECT on a multi-string crashes on Windows without NOEXPAND */
|
||||
/* {
|
||||
{{ NULL, RTL_QUERY_REGISTRY_DIRECT, (WCHAR*)L"CapitalsOfEurope", &query_reg_values_direct_str }},
|
||||
|
|
Loading…
Reference in New Issue
Block a user