/** @file\r
Emu Bus driver\r
\r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
Portions copyright (c) 2011, Apple Inc. All rights reserved.\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
\r
EmuDevice->ControllerNameTable = NULL;\r
\r
- StrnCpy (ComponentName, EmuIoThunk->ConfigString, sizeof (ComponentName)/sizeof (CHAR16));\r
+ StrnCpyS (\r
+ ComponentName,\r
+ sizeof (ComponentName) / sizeof (CHAR16),\r
+ EmuIoThunk->ConfigString,\r
+ sizeof (ComponentName) / sizeof (CHAR16)\r
+ );\r
\r
EmuDevice->DevicePath = EmuBusCreateDevicePath (\r
ParentDevicePath,\r
!include NetworkPkg/Network.dsc.inc\r
\r
[BuildOptions]\r
+ #\r
+ # Disable deprecated APIs.\r
+ #\r
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
+\r
MSFT:DEBUG_*_*_CC_FLAGS = /Od /Oy-\r
MSFT:NOOPT_*_*_CC_FLAGS = /Od /Oy-\r
\r
MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE\r
MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000\r
MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000\r
-\r
/*++ @file\r
PEIM to build GUIDed HOBs for platform specific flash map\r
\r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
Portions copyright (c) 2011, Apple Inc. All rights reserved.\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
return Status;\r
}\r
\r
- PcdSet64 (PcdFlashNvStorageVariableBase64, PcdGet64 (PcdEmuFlashNvStorageVariableBase) + FdFixUp);\r
- PcdSet64 (PcdFlashNvStorageFtwWorkingBase64, PcdGet64 (PcdEmuFlashNvStorageFtwWorkingBase) + FdFixUp);\r
- PcdSet64 (PcdFlashNvStorageFtwSpareBase64, PcdGet64 (PcdEmuFlashNvStorageFtwSpareBase) + FdFixUp);\r
+ PcdSet64S (PcdFlashNvStorageVariableBase64, PcdGet64 (PcdEmuFlashNvStorageVariableBase) + FdFixUp);\r
+ PcdSet64S (PcdFlashNvStorageFtwWorkingBase64, PcdGet64 (PcdEmuFlashNvStorageFtwWorkingBase) + FdFixUp);\r
+ PcdSet64S (PcdFlashNvStorageFtwSpareBase64, PcdGet64 (PcdEmuFlashNvStorageFtwSpareBase) + FdFixUp);\r
\r
return EFI_SUCCESS;\r
}\r
\r
\r
Copyright (c) 2012, Apple Inc. All rights reserved.\r
-Portitions Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+Portitions Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
if (Ascii == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- UnicodeStrToAsciiStr (String, Ascii);\r
+ UnicodeStrToAsciiStrS (String, Ascii, StrSize (String));\r
\r
StringIndex = StringNumber;\r
Status = gSmbios->UpdateString (gSmbios, &SmbiosHandle, &StringIndex, Ascii);\r
Emulator Thunk to abstract OS services from pure EFI code\r
\r
Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>\r
- Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>\r
\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
IN BOOLEAN EmuBusDriver\r
)\r
{\r
+ UINTN Size;\r
CHAR16 *StartString;\r
CHAR16 *SubString;\r
UINTN Instance;\r
}\r
\r
Instance = 0;\r
- StartString = AllocatePool (StrSize (ConfigString));\r
- StrCpy (StartString, ConfigString);\r
+ Size = StrSize (ConfigString);\r
+ StartString = AllocatePool (Size);\r
+ if (StartString == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+ StrCpyS (StartString, Size / sizeof (CHAR16), ConfigString);\r
while (*StartString != '\0') {\r
\r
//\r
\r
Tested on Mac OS X.\r
\r
-Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
Portitions copyright (c) 2011, Apple Inc. All rights reserved.\r
\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
//\r
// Associate our interface with this BPF file descriptor.\r
//\r
- AsciiStrCpy (BoundIf.ifr_name, Private->InterfaceName);\r
+ AsciiStrCpyS (BoundIf.ifr_name, sizeof (BoundIf.ifr_name), Private->InterfaceName);\r
if (ioctl (Private->BpfFd, BIOCSETIF, &BoundIf) < 0) {\r
goto DeviceErrorExit;\r
}\r
goto Exit;\r
}\r
\r
- UnicodeStrToAsciiStr (Private->Thunk->ConfigString, Private->InterfaceName);\r
+ UnicodeStrToAsciiStrS (\r
+ Private->Thunk->ConfigString,\r
+ Private->InterfaceName,\r
+ StrSize (Private->Thunk->ConfigString)\r
+ );\r
\r
Status = EFI_NOT_FOUND;\r
If = IfAddrs;\r
if (PrivateFile->FileName == NULL) {\r
goto Done;\r
}\r
- AsciiStrCpy (PrivateFile->FileName, Private->FilePath);\r
+ AsciiStrCpyS (\r
+ PrivateFile->FileName,\r
+ AsciiStrSize (Private->FilePath),\r
+ Private->FilePath\r
+ );\r
\r
PrivateFile->Signature = EMU_EFI_FILE_PRIVATE_SIGNATURE;\r
PrivateFile->Thunk = Private->Thunk;\r
EFI_FILE_INFO *Info;\r
struct stat finfo;\r
int res;\r
-\r
+ UINTN Size;\r
\r
PrivateFile = EMU_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);\r
PrivateRoot = EMU_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);\r
\r
CopyMem (NewPrivateFile, PrivateFile, sizeof (EMU_EFI_FILE_PRIVATE));\r
\r
- NewPrivateFile->FileName = malloc (AsciiStrSize (PrivateFile->FileName) + 1 + StrLen (FileName) + 1);\r
+ Size = AsciiStrSize (PrivateFile->FileName) + 1 + StrLen (FileName) + 1;\r
+ NewPrivateFile->FileName = malloc (Size);\r
if (NewPrivateFile->FileName == NULL) {\r
goto Done;\r
}\r
\r
if (*FileName == L'\\') {\r
- AsciiStrCpy (NewPrivateFile->FileName, PrivateRoot->FilePath);\r
+ AsciiStrCpyS (NewPrivateFile->FileName, Size, PrivateRoot->FilePath);\r
// Skip first '\'.\r
Src = FileName + 1;\r
} else {\r
- AsciiStrCpy (NewPrivateFile->FileName, PrivateFile->FileName);\r
+ AsciiStrCpyS (NewPrivateFile->FileName, Size, PrivateFile->FileName);\r
Src = FileName;\r
}\r
Dst = NewPrivateFile->FileName + AsciiStrLen (NewPrivateFile->FileName);\r
UINTN NameSize;\r
UINTN ResultSize;\r
CHAR8 *FullFileName;\r
-\r
+ UINTN FullFileNameSize;\r
\r
PrivateFile = EMU_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);\r
\r
\r
*BufferSize = ResultSize;\r
\r
- FullFileName = malloc (AsciiStrLen(PrivateFile->FileName) + 1 + NameSize);\r
+ FullFileNameSize = AsciiStrLen(PrivateFile->FileName) + 1 + NameSize;\r
+ FullFileName = malloc (FullFileNameSize);\r
if (FullFileName == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Done;\r
}\r
\r
- AsciiStrCpy (FullFileName, PrivateFile->FileName);\r
- AsciiStrCat (FullFileName, "/");\r
- AsciiStrCat (FullFileName, PrivateFile->Dirent->d_name);\r
+ AsciiStrCpyS (FullFileName, FullFileNameSize, PrivateFile->FileName);\r
+ AsciiStrCatS (FullFileName, FullFileNameSize, "/");\r
+ AsciiStrCatS (FullFileName, FullFileNameSize, PrivateFile->Dirent->d_name);\r
Status = UnixSimpleFileSystemFileInfo (\r
PrivateFile,\r
FullFileName,\r
FileSystemInfoBuffer->BlockSize = buf.f_bsize;\r
\r
\r
- StrCpy ((CHAR16 *) FileSystemInfoBuffer->VolumeLabel, PrivateRoot->VolumeLabel);\r
+ StrCpyS (\r
+ (CHAR16 *) FileSystemInfoBuffer->VolumeLabel,\r
+ (*BufferSize - SIZE_OF_EFI_FILE_SYSTEM_INFO) / sizeof (CHAR16),\r
+ PrivateRoot->VolumeLabel\r
+ );\r
*BufferSize = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);\r
\r
} else if (CompareGuid (InformationType, &gEfiFileSystemVolumeLabelInfoIdGuid)) {\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
\r
- StrCpy ((CHAR16 *) Buffer, PrivateRoot->VolumeLabel);\r
+ StrCpyS (\r
+ (CHAR16 *) Buffer,\r
+ *BufferSize / sizeof (CHAR16),\r
+ PrivateRoot->VolumeLabel\r
+ );\r
*BufferSize = StrSize (PrivateRoot->VolumeLabel);\r
\r
}\r
CHAR16 *UnicodeFilePtr;\r
int UnixStatus;\r
struct utimbuf Utime;\r
-\r
+ UINTN Size;\r
\r
PrivateFile = EMU_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);\r
PrivateRoot = EMU_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);\r
goto Done;\r
}\r
\r
- StrCpy (PrivateRoot->VolumeLabel, NewFileSystemInfo->VolumeLabel);\r
+ StrCpyS (\r
+ PrivateRoot->VolumeLabel,\r
+ StrSize (NewFileSystemInfo->VolumeLabel) / sizeof (CHAR16),\r
+ NewFileSystemInfo->VolumeLabel\r
+ );\r
\r
Status = EFI_SUCCESS;\r
goto Done;\r
goto Done;\r
}\r
\r
- StrCpy (PrivateRoot->VolumeLabel, (CHAR16 *) Buffer);\r
+ StrCpyS (\r
+ PrivateRoot->VolumeLabel,\r
+ StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16),\r
+ (CHAR16 *) Buffer\r
+ );\r
\r
Status = EFI_SUCCESS;\r
goto Done;\r
goto Done;\r
}\r
\r
- AsciiStrCpy (OldFileName, PrivateFile->FileName);\r
+ AsciiStrCpyS (\r
+ OldFileName,\r
+ AsciiStrSize (PrivateFile->FileName),\r
+ PrivateFile->FileName\r
+ );\r
\r
//\r
// Make full pathname from new filename and rootpath.\r
//\r
if (NewFileInfo->FileName[0] == '\\') {\r
- NewFileName = malloc (AsciiStrLen (PrivateRoot->FilePath) + 1 + StrLen (NewFileInfo->FileName) + 1);\r
+ Size = AsciiStrLen (PrivateRoot->FilePath) + 1 + StrLen (NewFileInfo->FileName) + 1;\r
+ NewFileName = malloc (Size);\r
if (NewFileName == NULL) {\r
goto Done;\r
}\r
\r
- AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
+ AsciiStrCpyS (NewFileName, Size, PrivateRoot->FilePath);\r
AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
UnicodeFilePtr = NewFileInfo->FileName + 1;\r
*AsciiFilePtr++ ='/';\r
} else {\r
- NewFileName = malloc (AsciiStrLen (PrivateFile->FileName) + 2 + StrLen (NewFileInfo->FileName) + 1);\r
+ Size = AsciiStrLen (PrivateFile->FileName) + 2 + StrLen (NewFileInfo->FileName) + 1;\r
+ NewFileName = malloc (Size);\r
if (NewFileName == NULL) {\r
goto Done;\r
}\r
\r
- AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
+ AsciiStrCpyS (NewFileName, Size, PrivateRoot->FilePath);\r
AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
if ((AsciiFilePtr[-1] != '/') && (NewFileInfo->FileName[0] != '/')) {\r
// make sure there is a / between Root FilePath and NewFileInfo Filename\r
goto Done;\r
}\r
\r
- AsciiStrCpy (PrivateFile->FileName, NewFileName);\r
+ AsciiStrCpyS (\r
+ PrivateFile->FileName,\r
+ AsciiStrSize (NewFileName),\r
+ NewFileName\r
+ );\r
} else {\r
Status = EFI_DEVICE_ERROR;\r
goto Done;\r
free (Private);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- StrCpy (Private->VolumeLabel, L"EFI_EMULATED");\r
+ StrCpyS (\r
+ Private->VolumeLabel,\r
+ StrSize (L"EFI_EMULATED") / sizeof (CHAR16),\r
+ L"EFI_EMULATED"\r
+ );\r
\r
Private->Signature = EMU_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE;\r
Private->Thunk = This;\r
/*++ @file\r
\r
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>\r
\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
XDefineCursor (Drv->display, Drv->win, XCreateFontCursor (Drv->display, XC_pirate));\r
\r
Drv->Title = malloc (StrSize (This->ConfigString));\r
- UnicodeStrToAsciiStr (This->ConfigString, Drv->Title);\r
+ UnicodeStrToAsciiStrS (This->ConfigString, Drv->Title, StrSize (This->ConfigString));\r
XStoreName (Drv->display, Drv->win, Drv->Title);\r
\r
// XAutoRepeatOff (Drv->display);\r
/*++ @file\r
Support OS native directory access.\r
\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
\r
goto Done;\r
}\r
\r
- StrCpy (PrivateFile->FilePath, Private->FilePath);\r
- StrCpy (PrivateFile->FileName, PrivateFile->FilePath);\r
+ StrCpyS (PrivateFile->FilePath,\r
+ StrSize (Private->FilePath) / sizeof (CHAR16),\r
+ Private->FilePath\r
+ );\r
+ StrCpyS (PrivateFile->FileName,\r
+ StrSize (Private->FilePath) / sizeof (CHAR16),\r
+ PrivateFile->FilePath\r
+ );\r
PrivateFile->Signature = WIN_NT_EFI_FILE_PRIVATE_SIGNATURE;\r
PrivateFile->Thunk = Private->Thunk;\r
PrivateFile->SimpleFileSystem = This;\r
if (TempFileName == NULL) {\r
goto Done;\r
}\r
- StrCpy (TempFileName, PrivateFile->FilePath);\r
- StrCat (TempFileName, L"\\*");\r
+ StrCpyS (TempFileName, Size / sizeof (CHAR16), PrivateFile->FilePath);\r
+ StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");\r
\r
PrivateFile->LHandle = FindFirstFile (TempFileName, &PrivateFile->FindBuf);\r
FreePool (TempFileName);\r
} else {\r
Offset = SlashPos - *FileName;\r
Token = AllocateZeroPool ((Offset + 1) * sizeof (CHAR16));\r
- StrnCpy (Token, *FileName, Offset);\r
+ StrnCpyS (Token, Offset + 1, *FileName, Offset);\r
//\r
// Point *FileName to the next character after L'\'.\r
//\r
if (TempFileName == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- StrCpy (TempFileName, FileName);\r
+ StrCpyS (TempFileName, StrSize (FileName) / sizeof (CHAR16), FileName);\r
FileName = TempFileName;\r
\r
if (FileName[StrLen (FileName) - 1] == L'\\') {\r
}\r
\r
if (PrivateFile->IsDirectoryPath) {\r
- StrCpy (NewPrivateFile->FilePath, PrivateFile->FileName);\r
+ StrCpyS (\r
+ NewPrivateFile->FilePath,\r
+ StrSize (PrivateFile->FileName) / sizeof (CHAR16),\r
+ PrivateFile->FileName\r
+ );\r
} else {\r
- StrCpy (NewPrivateFile->FilePath, PrivateFile->FilePath);\r
+ StrCpyS (\r
+ NewPrivateFile->FilePath,\r
+ StrSize (PrivateFile->FileName) / sizeof (CHAR16),\r
+ PrivateFile->FilePath\r
+ );\r
}\r
\r
Size = StrSize (NewPrivateFile->FilePath);\r
}\r
\r
if (*FileName == L'\\') {\r
- StrCpy (NewPrivateFile->FileName, PrivateRoot->FilePath);\r
- StrCat (NewPrivateFile->FileName, L"\\");\r
- StrCat (NewPrivateFile->FileName, FileName + 1);\r
+ StrCpyS (NewPrivateFile->FileName, Size / sizeof (CHAR16), PrivateRoot->FilePath);\r
+ StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), L"\\");\r
+ StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), FileName + 1);\r
} else {\r
- StrCpy (NewPrivateFile->FileName, NewPrivateFile->FilePath);\r
+ StrCpyS (NewPrivateFile->FileName, Size / sizeof (CHAR16), NewPrivateFile->FilePath);\r
if (StrCmp (FileName, L"") != 0) {\r
//\r
// In case the filename becomes empty, especially after trimming dots and blanks\r
//\r
- StrCat (NewPrivateFile->FileName, L"\\");\r
- StrCat (NewPrivateFile->FileName, FileName);\r
+ StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), L"\\");\r
+ StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), FileName);\r
}\r
}\r
\r
goto Done;\r
}\r
\r
- StrCpy (NewPrivateFile->FilePath, NewPrivateFile->FileName);\r
+ StrCpyS (\r
+ NewPrivateFile->FilePath,\r
+ StrSize (NewPrivateFile->FileName) / sizeof (CHAR16),\r
+ NewPrivateFile->FileName\r
+ );\r
if (TempChar != 0) {\r
*(RealFileName - 1) = TempChar;\r
}\r
goto Done;\r
}\r
\r
- StrCpy (TempFileName, NewPrivateFile->FileName);\r
+ StrCpyS (TempFileName, Size / sizeof (CHAR16), NewPrivateFile->FileName);\r
\r
if ((OpenMode & EFI_FILE_MODE_CREATE)) {\r
//\r
//\r
// Find the first file under it\r
//\r
- StrCat (TempFileName, L"\\*");\r
+ StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");\r
NewPrivateFile->LHandle = FindFirstFile (TempFileName, &NewPrivateFile->FindBuf);\r
FreePool (TempFileName);\r
\r
goto Done;\r
}\r
\r
- StrCpy (FileName, PrivateFile->FileName);\r
- StrCat (FileName, L"\\*");\r
+ StrCpyS (FileName, Size / sizeof (CHAR16), PrivateFile->FileName);\r
+ StrCatS (FileName, Size / sizeof (CHAR16), L"\\*");\r
\r
if (PrivateFile->LHandle != INVALID_HANDLE_VALUE) {\r
FindClose (PrivateFile->LHandle);\r
goto Done;\r
}\r
\r
- StrCpy (DriveName, PrivateFile->FilePath);\r
+ StrCpyS (\r
+ DriveName,\r
+ (StrSize (PrivateFile->FilePath) + 1) / sizeof (CHAR16),\r
+ PrivateFile->FilePath\r
+ );\r
for (Index = 0; DriveName[Index] != 0 && DriveName[Index] != ':'; Index++) {\r
;\r
}\r
}\r
}\r
\r
- StrCpy ((CHAR16 *)FileSystemInfoBuffer->VolumeLabel, PrivateRoot->VolumeLabel);\r
+ StrCpyS (\r
+ (CHAR16 *)FileSystemInfoBuffer->VolumeLabel,\r
+ (*BufferSize - SIZE_OF_EFI_FILE_SYSTEM_INFO) / sizeof (CHAR16),\r
+ PrivateRoot->VolumeLabel\r
+ );\r
*BufferSize = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);\r
Status = EFI_SUCCESS;\r
}\r
goto Done;\r
}\r
\r
- StrCpy ((CHAR16 *)Buffer, PrivateRoot->VolumeLabel);\r
+ StrCpyS (\r
+ (CHAR16 *)Buffer,\r
+ *BufferSize / sizeof (CHAR16),\r
+ PrivateRoot->VolumeLabel\r
+ );\r
*BufferSize = StrSize (PrivateRoot->VolumeLabel);\r
Status = EFI_SUCCESS;\r
}\r
goto Done;\r
}\r
\r
- StrCpy (PrivateRoot->VolumeLabel, NewFileSystemInfo->VolumeLabel);\r
+ StrCpyS (\r
+ PrivateRoot->VolumeLabel,\r
+ StrSize (NewFileSystemInfo->VolumeLabel) / sizeof (CHAR16),\r
+ NewFileSystemInfo->VolumeLabel\r
+ );\r
\r
Status = EFI_SUCCESS;\r
goto Done;\r
goto Done;\r
}\r
\r
- StrCpy (PrivateRoot->VolumeLabel, (CHAR16 *)Buffer);\r
+ StrCpyS (\r
+ PrivateRoot->VolumeLabel,\r
+ StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16),\r
+ (CHAR16 *)Buffer\r
+ );\r
\r
Status = EFI_SUCCESS;\r
goto Done;\r
goto Done;\r
}\r
\r
- StrCpy (OldFileName, PrivateFile->FileName);\r
+ StrCpyS (\r
+ OldFileName,\r
+ StrSize (PrivateFile->FileName) / sizeof (CHAR16),\r
+ PrivateFile->FileName\r
+ );\r
\r
//\r
// Make full pathname from new filename and rootpath.\r
goto Done;\r
}\r
\r
- StrCpy (NewFileName, PrivateRoot->FilePath);\r
- StrCat (NewFileName, L"\\");\r
- StrCat (NewFileName, NewFileInfo->FileName + 1);\r
+ StrCpyS (NewFileName, Size / sizeof (CHAR16), PrivateRoot->FilePath);\r
+ StrCatS (NewFileName, Size / sizeof (CHAR16), L"\\");\r
+ StrCatS (NewFileName, Size / sizeof (CHAR16), NewFileInfo->FileName + 1);\r
} else {\r
Size = StrSize (PrivateFile->FilePath);\r
Size += StrSize (L"\\");\r
goto Done;\r
}\r
\r
- StrCpy (NewFileName, PrivateFile->FilePath);\r
- StrCat (NewFileName, L"\\");\r
- StrCat (NewFileName, NewFileInfo->FileName);\r
+ StrCpyS (NewFileName, Size / sizeof (CHAR16), PrivateFile->FilePath);\r
+ StrCatS (NewFileName, Size / sizeof (CHAR16), L"\\");\r
+ StrCatS (NewFileName, Size / sizeof (CHAR16), NewFileInfo->FileName);\r
}\r
\r
//\r
goto Done;\r
}\r
\r
- StrCpy (PrivateFile->FileName, NewFileName);\r
+ StrCpyS (PrivateFile->FileName, StrSize (NewFileName) / sizeof (CHAR16), NewFileName);\r
\r
Size = StrSize (NewFileName);\r
Size += StrSize (L"\\*");\r
TempFileName = AllocatePool (Size);\r
\r
- StrCpy (TempFileName, NewFileName);\r
+ StrCpyS (TempFileName, Size / sizeof (CHAR16), NewFileName);\r
\r
if (!PrivateFile->IsDirectoryPath) {\r
PrivateFile->LHandle = CreateFile (\r
NULL\r
);\r
\r
- StrCat (TempFileName, L"\\*");\r
+ StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");\r
PrivateFile->LHandle = FindFirstFile (TempFileName, &FindBuf);\r
\r
FreePool (TempFileName);\r
Size += StrSize (L"\\*");\r
TempFileName = AllocatePool (Size);\r
\r
- StrCpy (TempFileName, OldFileName);\r
+ StrCpyS (TempFileName, Size / sizeof (CHAR16), OldFileName);\r
\r
if (!PrivateFile->IsDirectoryPath) {\r
PrivateFile->LHandle = CreateFile (\r
NULL\r
);\r
\r
- StrCat (TempFileName, L"\\*");\r
+ StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");\r
PrivateFile->LHandle = FindFirstFile (TempFileName, &FindBuf);\r
}\r
\r