Message ID | 1477651721-16958-3-git-send-email-ard.biesheuvel@linaro.org |
---|---|
State | Accepted |
Commit | a5cd3bb037cf87ecda0a5c8cd8a3eda722591b70 |
Headers | show |
On 10/28/16 12:48, Ard Biesheuvel wrote: > Get rid of functions that are no longer available when defining > DISABLE_NEW_DEPRECATED_INTERFACES > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c | 8 +++----- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c | 3 ++- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c | 19 +++++++++++-------- > 3 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > index 450a707f183c..64ea0ec68048 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > @@ -304,7 +304,6 @@ SetFileName ( > IN CONST CHAR16 *FileName > ) > { > - CHAR16 TruncFileName[MAX_NAME_LENGTH]; > CHAR8 AsciiFileName[MAX_NAME_LENGTH]; > BOOTMON_FS_FILE *SameFile; > > @@ -314,9 +313,7 @@ SetFileName ( > FileName++; > } > > - StrnCpy (TruncFileName, FileName, MAX_NAME_LENGTH - 1); > - TruncFileName[MAX_NAME_LENGTH - 1] = 0; > - UnicodeStrToAsciiStr (TruncFileName, AsciiFileName); > + UnicodeStrToAsciiStrS (FileName, AsciiFileName, MAX_NAME_LENGTH); > > if (BootMonGetFileFromAsciiFileName ( > File->Instance, > @@ -327,7 +324,8 @@ SetFileName ( > return EFI_ACCESS_DENIED; > } else { > // OK, change the filename. > - AsciiStrToUnicodeStr (AsciiFileName, File->Info->FileName); > + AsciiStrToUnicodeStrS (AsciiFileName, File->Info->FileName, > + (File->Info->Size - SIZE_OF_EFI_FILE_INFO) / sizeof (CHAR16)); > return EFI_SUCCESS; > } > } > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > index 3d71760fef99..a1150856f6ba 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > @@ -98,7 +98,8 @@ BootMonGetFileFromAsciiFileName ( > { > FileEntry = BOOTMON_FS_FILE_FROM_LINK_THIS (Entry); > if (FileEntry->Info != NULL) { > - UnicodeStrToAsciiStr (FileEntry->Info->FileName, OpenFileAsciiFileName); > + UnicodeStrToAsciiStrS (FileEntry->Info->FileName, OpenFileAsciiFileName, > + MAX_NAME_LENGTH); > AsciiFileNameToCompare = OpenFileAsciiFileName; > } else { > AsciiFileNameToCompare = FileEntry->HwDescription.Footer.Filename; > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > index af2fe514f044..ae10055255ff 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > @@ -101,7 +101,8 @@ WriteFileDescription ( > Description->Attributes = 1; > Description->BlockStart = FileStart / BlockSize; > Description->BlockEnd = Description->BlockStart + (FileSize / BlockSize); > - AsciiStrCpy (Description->Footer.Filename, FileName); > + AsciiStrCpyS (Description->Footer.Filename, > + sizeof Description->Footer.Filename, FileName); > > #ifdef MDE_CPU_ARM > Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET; > @@ -294,7 +295,7 @@ BootMonFsFlushFile ( > DiskIo = Instance->DiskIo; > BlockSize = Media->BlockSize; > > - UnicodeStrToAsciiStr (Info->FileName, AsciiFileName); > + UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, MAX_NAME_LENGTH); > > // If the file doesn't exist then find a space for it > if (File->HwDescription.RegionCount == 0) { > @@ -513,6 +514,7 @@ BootMonFsOpenFile ( > CHAR16 *Separator; > CHAR8 *AsciiFileName; > EFI_FILE_INFO *Info; > + UINTN AsciiFileNameSize; > > if (This == NULL) { > return EFI_INVALID_PARAMETER; > @@ -621,15 +623,16 @@ BootMonFsOpenFile ( > // > // BootMonFs interface requires ASCII filenames > // > - AsciiFileName = AllocatePool (StrLen (Path) + 1); > + AsciiFileNameSize = StrLen (Path) + 1; > + if (AsciiFileNameSize > MAX_NAME_LENGTH) { > + AsciiFileNameSize = MAX_NAME_LENGTH; > + } > + AsciiFileName = AllocatePool (AsciiFileNameSize); > if (AsciiFileName == NULL) { > Status = EFI_OUT_OF_RESOURCES; > goto Error; > } > - UnicodeStrToAsciiStr (Path, AsciiFileName); > - if (AsciiStrSize (AsciiFileName) > MAX_NAME_LENGTH) { > - AsciiFileName[MAX_NAME_LENGTH - 1] = '\0'; > - } > + UnicodeStrToAsciiStrS (Path, AsciiFileName, AsciiFileNameSize); > > if ((AsciiFileName[0] == '\0') || > (AsciiFileName[0] == '.' ) ) { > @@ -688,7 +691,7 @@ BootMonFsOpenFile ( > > Info->FileSize = BootMonFsGetImageLength (File); > Info->PhysicalSize = BootMonFsGetPhysicalSize (File); > - AsciiStrToUnicodeStr (AsciiFileName, Info->FileName); > + AsciiStrToUnicodeStrS (AsciiFileName, Info->FileName, MAX_NAME_LENGTH); > > File->Info = Info; > Info = NULL; > Reviewed-by: Laszlo Ersek <lersek@redhat.com> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On Fri, Oct 28, 2016 at 11:48:41AM +0100, Ard Biesheuvel wrote: > Get rid of functions that are no longer available when defining > DISABLE_NEW_DEPRECATED_INTERFACES > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > --- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c | 8 +++----- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c | 3 ++- > ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c | 19 +++++++++++-------- > 3 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > index 450a707f183c..64ea0ec68048 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c > @@ -304,7 +304,6 @@ SetFileName ( > IN CONST CHAR16 *FileName > ) > { > - CHAR16 TruncFileName[MAX_NAME_LENGTH]; > CHAR8 AsciiFileName[MAX_NAME_LENGTH]; > BOOTMON_FS_FILE *SameFile; > > @@ -314,9 +313,7 @@ SetFileName ( > FileName++; > } > > - StrnCpy (TruncFileName, FileName, MAX_NAME_LENGTH - 1); > - TruncFileName[MAX_NAME_LENGTH - 1] = 0; > - UnicodeStrToAsciiStr (TruncFileName, AsciiFileName); > + UnicodeStrToAsciiStrS (FileName, AsciiFileName, MAX_NAME_LENGTH); > > if (BootMonGetFileFromAsciiFileName ( > File->Instance, > @@ -327,7 +324,8 @@ SetFileName ( > return EFI_ACCESS_DENIED; > } else { > // OK, change the filename. > - AsciiStrToUnicodeStr (AsciiFileName, File->Info->FileName); > + AsciiStrToUnicodeStrS (AsciiFileName, File->Info->FileName, > + (File->Info->Size - SIZE_OF_EFI_FILE_INFO) / sizeof (CHAR16)); > return EFI_SUCCESS; > } > } > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > index 3d71760fef99..a1150856f6ba 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c > @@ -98,7 +98,8 @@ BootMonGetFileFromAsciiFileName ( > { > FileEntry = BOOTMON_FS_FILE_FROM_LINK_THIS (Entry); > if (FileEntry->Info != NULL) { > - UnicodeStrToAsciiStr (FileEntry->Info->FileName, OpenFileAsciiFileName); > + UnicodeStrToAsciiStrS (FileEntry->Info->FileName, OpenFileAsciiFileName, > + MAX_NAME_LENGTH); > AsciiFileNameToCompare = OpenFileAsciiFileName; > } else { > AsciiFileNameToCompare = FileEntry->HwDescription.Footer.Filename; > diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > index af2fe514f044..ae10055255ff 100644 > --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c > @@ -101,7 +101,8 @@ WriteFileDescription ( > Description->Attributes = 1; > Description->BlockStart = FileStart / BlockSize; > Description->BlockEnd = Description->BlockStart + (FileSize / BlockSize); > - AsciiStrCpy (Description->Footer.Filename, FileName); > + AsciiStrCpyS (Description->Footer.Filename, > + sizeof Description->Footer.Filename, FileName); > > #ifdef MDE_CPU_ARM > Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET; > @@ -294,7 +295,7 @@ BootMonFsFlushFile ( > DiskIo = Instance->DiskIo; > BlockSize = Media->BlockSize; > > - UnicodeStrToAsciiStr (Info->FileName, AsciiFileName); > + UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, MAX_NAME_LENGTH); > > // If the file doesn't exist then find a space for it > if (File->HwDescription.RegionCount == 0) { > @@ -513,6 +514,7 @@ BootMonFsOpenFile ( > CHAR16 *Separator; > CHAR8 *AsciiFileName; > EFI_FILE_INFO *Info; > + UINTN AsciiFileNameSize; > > if (This == NULL) { > return EFI_INVALID_PARAMETER; > @@ -621,15 +623,16 @@ BootMonFsOpenFile ( > // > // BootMonFs interface requires ASCII filenames > // > - AsciiFileName = AllocatePool (StrLen (Path) + 1); > + AsciiFileNameSize = StrLen (Path) + 1; > + if (AsciiFileNameSize > MAX_NAME_LENGTH) { > + AsciiFileNameSize = MAX_NAME_LENGTH; > + } > + AsciiFileName = AllocatePool (AsciiFileNameSize); > if (AsciiFileName == NULL) { > Status = EFI_OUT_OF_RESOURCES; > goto Error; > } > - UnicodeStrToAsciiStr (Path, AsciiFileName); > - if (AsciiStrSize (AsciiFileName) > MAX_NAME_LENGTH) { > - AsciiFileName[MAX_NAME_LENGTH - 1] = '\0'; > - } > + UnicodeStrToAsciiStrS (Path, AsciiFileName, AsciiFileNameSize); > > if ((AsciiFileName[0] == '\0') || > (AsciiFileName[0] == '.' ) ) { > @@ -688,7 +691,7 @@ BootMonFsOpenFile ( > > Info->FileSize = BootMonFsGetImageLength (File); > Info->PhysicalSize = BootMonFsGetPhysicalSize (File); > - AsciiStrToUnicodeStr (AsciiFileName, Info->FileName); > + AsciiStrToUnicodeStrS (AsciiFileName, Info->FileName, MAX_NAME_LENGTH); > > File->Info = Info; > Info = NULL; > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c index 450a707f183c..64ea0ec68048 100644 --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c @@ -304,7 +304,6 @@ SetFileName ( IN CONST CHAR16 *FileName ) { - CHAR16 TruncFileName[MAX_NAME_LENGTH]; CHAR8 AsciiFileName[MAX_NAME_LENGTH]; BOOTMON_FS_FILE *SameFile; @@ -314,9 +313,7 @@ SetFileName ( FileName++; } - StrnCpy (TruncFileName, FileName, MAX_NAME_LENGTH - 1); - TruncFileName[MAX_NAME_LENGTH - 1] = 0; - UnicodeStrToAsciiStr (TruncFileName, AsciiFileName); + UnicodeStrToAsciiStrS (FileName, AsciiFileName, MAX_NAME_LENGTH); if (BootMonGetFileFromAsciiFileName ( File->Instance, @@ -327,7 +324,8 @@ SetFileName ( return EFI_ACCESS_DENIED; } else { // OK, change the filename. - AsciiStrToUnicodeStr (AsciiFileName, File->Info->FileName); + AsciiStrToUnicodeStrS (AsciiFileName, File->Info->FileName, + (File->Info->Size - SIZE_OF_EFI_FILE_INFO) / sizeof (CHAR16)); return EFI_SUCCESS; } } diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c index 3d71760fef99..a1150856f6ba 100644 --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c @@ -98,7 +98,8 @@ BootMonGetFileFromAsciiFileName ( { FileEntry = BOOTMON_FS_FILE_FROM_LINK_THIS (Entry); if (FileEntry->Info != NULL) { - UnicodeStrToAsciiStr (FileEntry->Info->FileName, OpenFileAsciiFileName); + UnicodeStrToAsciiStrS (FileEntry->Info->FileName, OpenFileAsciiFileName, + MAX_NAME_LENGTH); AsciiFileNameToCompare = OpenFileAsciiFileName; } else { AsciiFileNameToCompare = FileEntry->HwDescription.Footer.Filename; diff --git a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c index af2fe514f044..ae10055255ff 100644 --- a/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c +++ b/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c @@ -101,7 +101,8 @@ WriteFileDescription ( Description->Attributes = 1; Description->BlockStart = FileStart / BlockSize; Description->BlockEnd = Description->BlockStart + (FileSize / BlockSize); - AsciiStrCpy (Description->Footer.Filename, FileName); + AsciiStrCpyS (Description->Footer.Filename, + sizeof Description->Footer.Filename, FileName); #ifdef MDE_CPU_ARM Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET; @@ -294,7 +295,7 @@ BootMonFsFlushFile ( DiskIo = Instance->DiskIo; BlockSize = Media->BlockSize; - UnicodeStrToAsciiStr (Info->FileName, AsciiFileName); + UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, MAX_NAME_LENGTH); // If the file doesn't exist then find a space for it if (File->HwDescription.RegionCount == 0) { @@ -513,6 +514,7 @@ BootMonFsOpenFile ( CHAR16 *Separator; CHAR8 *AsciiFileName; EFI_FILE_INFO *Info; + UINTN AsciiFileNameSize; if (This == NULL) { return EFI_INVALID_PARAMETER; @@ -621,15 +623,16 @@ BootMonFsOpenFile ( // // BootMonFs interface requires ASCII filenames // - AsciiFileName = AllocatePool (StrLen (Path) + 1); + AsciiFileNameSize = StrLen (Path) + 1; + if (AsciiFileNameSize > MAX_NAME_LENGTH) { + AsciiFileNameSize = MAX_NAME_LENGTH; + } + AsciiFileName = AllocatePool (AsciiFileNameSize); if (AsciiFileName == NULL) { Status = EFI_OUT_OF_RESOURCES; goto Error; } - UnicodeStrToAsciiStr (Path, AsciiFileName); - if (AsciiStrSize (AsciiFileName) > MAX_NAME_LENGTH) { - AsciiFileName[MAX_NAME_LENGTH - 1] = '\0'; - } + UnicodeStrToAsciiStrS (Path, AsciiFileName, AsciiFileNameSize); if ((AsciiFileName[0] == '\0') || (AsciiFileName[0] == '.' ) ) { @@ -688,7 +691,7 @@ BootMonFsOpenFile ( Info->FileSize = BootMonFsGetImageLength (File); Info->PhysicalSize = BootMonFsGetPhysicalSize (File); - AsciiStrToUnicodeStr (AsciiFileName, Info->FileName); + AsciiStrToUnicodeStrS (AsciiFileName, Info->FileName, MAX_NAME_LENGTH); File->Info = Info; Info = NULL;
Get rid of functions that are no longer available when defining DISABLE_NEW_DEPRECATED_INTERFACES Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsDir.c | 8 +++----- ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsEntryPoint.c | 3 ++- ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsOpenClose.c | 19 +++++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel