git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9578
6f19259b-4bc3-4df7-8a09-
765794883524
} else {\r
Status = gBS->AllocatePool (\r
EfiBootServicesData,\r
} else {\r
Status = gBS->AllocatePool (\r
EfiBootServicesData,\r
- AsciiStrLen (PrivateFile->FileName) + 1 + StrLen (NewFileInfo->FileName) + 1,\r
+ AsciiStrLen (PrivateFile->FileName) + 2 + StrLen (NewFileInfo->FileName) + 1,\r
(VOID **)&NewFileName\r
);\r
\r
(VOID **)&NewFileName\r
);\r
\r
\r
AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
\r
AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
- while (AsciiFilePtr > NewFileName && AsciiFilePtr[-1] != '/') {\r
- AsciiFilePtr--;\r
+ if ((AsciiFilePtr[-1] != '/') && (NewFileInfo->FileName[0] != '/')) {\r
+ // make sure there is a / between Root FilePath and NewFileInfo Filename\r
+ AsciiFilePtr[0] = '/'; \r
+ AsciiFilePtr[1] = '\0';\r
+ AsciiFilePtr++;\r
}\r
UnicodeFilePtr = NewFileInfo->FileName;\r
}\r
}\r
UnicodeFilePtr = NewFileInfo->FileName;\r
}\r
}\r
\r
UnixStatus = PrivateFile->UnixThunk->Chmod (NewFileName, NewAttr);\r
}\r
\r
UnixStatus = PrivateFile->UnixThunk->Chmod (NewFileName, NewAttr);\r
if (UnixStatus != 0) {\r
Status = EFI_DEVICE_ERROR;\r
}\r
if (UnixStatus != 0) {\r
Status = EFI_DEVICE_ERROR;\r
}\r