[NTOSKRNL]

- Fix a string termination bug in the device interface code
- Thanks to janderwald for spotting the bug

svn path=/trunk/; revision=47801
This commit is contained in:
Cameron Gutman 2010-06-18 21:57:07 +00:00
parent e5bc385e89
commit b00db8b8a6

View file

@ -105,18 +105,20 @@ OpenRegistryHandlesFromSymbolicLink(IN PUNICODE_STRING SymbolicLinkName,
goto cleanup;
}
SubKeyName.Buffer = ExAllocatePool(PagedPool, SymbolicLinkName->Length);
SubKeyName.MaximumLength = SymbolicLinkName->Length + sizeof(WCHAR);
SubKeyName.Length = 0;
SubKeyName.Buffer = ExAllocatePool(PagedPool, SubKeyName.MaximumLength);
if (!SubKeyName.Buffer)
{
Status = STATUS_INSUFFICIENT_RESOURCES;
goto cleanup;
}
SubKeyName.MaximumLength = SymbolicLinkName->Length;
SubKeyName.Length = 0;
RtlAppendUnicodeStringToString(&SubKeyName,
SymbolicLinkName);
SubKeyName.Buffer[SubKeyName.Length / sizeof(WCHAR)] = UNICODE_NULL;
SubKeyName.Buffer[0] = L'#';
SubKeyName.Buffer[1] = L'#';
SubKeyName.Buffer[2] = L'?';