+ if (FullValueInfo->NameLength > ValueNameSize - sizeof(WCHAR))
+ {
+ /* Should not happen, because the name length is limited to 255 characters */
+ RtlFreeHeap(RtlGetProcessHeap(),
+ 0,
+ ValueName);
+ ValueNameSize = FullValueInfo->NameLength + sizeof(WCHAR);
+ ValueName = RtlAllocateHeap(RtlGetProcessHeap(),
+ 0,
+ ValueNameSize);
+ if (ValueName == NULL)
+ {
+ Status = STATUS_NO_MEMORY;
+ break;
+ }
+ }
+
+ memcpy(ValueName,
+ FullValueInfo->Name,
+ FullValueInfo->NameLength);
+ ValueName[FullValueInfo->NameLength / sizeof(WCHAR)] = 0;
+