]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c
ArmPlatformPkg/BootMonFs: eliminate deprecated string functions
[mirror_edk2.git] / ArmPlatformPkg / FileSystem / BootMonFs / BootMonFsOpenClose.c
index af2fe514f0440221d1ff710d58fe08b904ae8e58..ae10055255ffbf2d50053a070c7e8dc2044612ea 100644 (file)
@@ -101,7 +101,8 @@ WriteFileDescription (
   Description->Attributes = 1;\r
   Description->BlockStart = FileStart / BlockSize;\r
   Description->BlockEnd   = Description->BlockStart + (FileSize / BlockSize);\r
-  AsciiStrCpy (Description->Footer.Filename, FileName);\r
+  AsciiStrCpyS (Description->Footer.Filename,\r
+    sizeof Description->Footer.Filename, FileName);\r
 \r
 #ifdef MDE_CPU_ARM\r
   Description->Footer.Offset  = HW_IMAGE_FOOTER_OFFSET;\r
@@ -294,7 +295,7 @@ BootMonFsFlushFile (
   DiskIo    = Instance->DiskIo;\r
   BlockSize = Media->BlockSize;\r
 \r
-  UnicodeStrToAsciiStr (Info->FileName, AsciiFileName);\r
+  UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, MAX_NAME_LENGTH);\r
 \r
   // If the file doesn't exist then find a space for it\r
   if (File->HwDescription.RegionCount == 0) {\r
@@ -513,6 +514,7 @@ BootMonFsOpenFile (
   CHAR16               *Separator;\r
   CHAR8                *AsciiFileName;\r
   EFI_FILE_INFO        *Info;\r
+  UINTN                AsciiFileNameSize;\r
 \r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -621,15 +623,16 @@ BootMonFsOpenFile (
   //\r
   // BootMonFs interface requires ASCII filenames\r
   //\r
-  AsciiFileName = AllocatePool (StrLen (Path) + 1);\r
+  AsciiFileNameSize = StrLen (Path) + 1;\r
+  if (AsciiFileNameSize > MAX_NAME_LENGTH) {\r
+    AsciiFileNameSize = MAX_NAME_LENGTH;\r
+  }\r
+  AsciiFileName = AllocatePool (AsciiFileNameSize);\r
   if (AsciiFileName == NULL) {\r
     Status = EFI_OUT_OF_RESOURCES;\r
     goto Error;\r
   }\r
-  UnicodeStrToAsciiStr (Path, AsciiFileName);\r
-  if (AsciiStrSize (AsciiFileName) > MAX_NAME_LENGTH) {\r
-   AsciiFileName[MAX_NAME_LENGTH - 1] = '\0';\r
-  }\r
+  UnicodeStrToAsciiStrS (Path, AsciiFileName, AsciiFileNameSize);\r
 \r
   if ((AsciiFileName[0] == '\0') ||\r
       (AsciiFileName[0] == '.' )    ) {\r
@@ -688,7 +691,7 @@ BootMonFsOpenFile (
 \r
     Info->FileSize     = BootMonFsGetImageLength (File);\r
     Info->PhysicalSize = BootMonFsGetPhysicalSize (File);\r
-    AsciiStrToUnicodeStr (AsciiFileName, Info->FileName);\r
+    AsciiStrToUnicodeStrS (AsciiFileName, Info->FileName, MAX_NAME_LENGTH);\r
 \r
     File->Info = Info;\r
     Info = NULL;\r