- Remove '\.\' sequences from destination file name in CabinetExtractFile.

svn path=/trunk/; revision=7758
This commit is contained in:
Hartmut Birr 2004-01-18 22:37:53 +00:00
parent 11a4e44d62
commit 68ac8c2fb9

View file

@ -1618,6 +1618,7 @@ CabinetExtractFile(PWCHAR FileName)
FILETIME FileTime;
WCHAR DestName[MAX_PATH];
WCHAR TempName[MAX_PATH];
PWCHAR s;
NTSTATUS NtStatus;
UNICODE_STRING UnicodeString;
IO_STATUS_BLOCK IoStatusBlock;
@ -1653,11 +1654,17 @@ CabinetExtractFile(PWCHAR FileName)
wcscpy(DestName, DestPath);
wcscat(DestName, FileName);
while (NULL != (s = wcsstr(DestName, L"\\.\\")))
{
memmove(s, s + 2, (wcslen(s + 2) + 1) *sizeof(WCHAR));
}
/* Create destination file, fail if it already exists */
RtlInitUnicodeString(&UnicodeString,
DestName);
InitializeObjectAttributes(&ObjectAttributes,
&UnicodeString,
OBJ_CASE_INSENSITIVE,