From f00ace96f3c8e1dbfd0cd0d882b0c98cfbde37dc Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 21 Oct 2016 21:31:09 +0200 Subject: [PATCH] ArmPkg/ArmDisassemblerLib: replace AsciiStrCat() with AsciiStrCatS() AsciiStrCat() is deprecated / disabled under the DISABLE_NEW_DEPRECATED_INTERFACES feature test macro. The "Str" variable serves no particular purpose in the MRegList() and ThumbMRegList() functions; replace it with the pointed-to "mMregListStr" / "mThumbMregListStr" global variable (as appropriate), so that the new AsciiStrCatS() calls are as clear as possible. Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Michael Zimmermann Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=164 Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=165 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Ard Biesheuvel Reviewed-by: Jordan Justen --- .../ArmDisassemblerLib/ArmDisassembler.c | 22 +++++++++---------- .../ArmDisassemblerLib/ThumbDisassembler.c | 20 ++++++++--------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c b/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c index 29a8d44386..29d9414a78 100644 --- a/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c +++ b/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c @@ -88,12 +88,10 @@ MRegList ( ) { UINTN Index, Start, End; - CHAR8 *Str; BOOLEAN First; - Str = mMregListStr; - *Str = '\0'; - AsciiStrCat (Str, "{"); + mMregListStr[0] = '\0'; + AsciiStrCatS (mMregListStr, sizeof mMregListStr, "{"); for (Index = 0, First = TRUE; Index <= 15; Index++) { if ((OpCode & (1 << Index)) != 0) { Start = End = Index; @@ -102,25 +100,25 @@ MRegList ( } if (!First) { - AsciiStrCat (Str, ","); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, ","); } else { First = FALSE; } if (Start == End) { - AsciiStrCat (Str, gReg[Start]); - AsciiStrCat (Str, ", "); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, gReg[Start]); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, ", "); } else { - AsciiStrCat (Str, gReg[Start]); - AsciiStrCat (Str, "-"); - AsciiStrCat (Str, gReg[End]); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, gReg[Start]); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, "-"); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, gReg[End]); } } } if (First) { - AsciiStrCat (Str, "ERROR"); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, "ERROR"); } - AsciiStrCat (Str, "}"); + AsciiStrCatS (mMregListStr, sizeof mMregListStr, "}"); // BugBug: Make caller pass in buffer it is cleaner return mMregListStr; diff --git a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c index 5bad3afcfb..8c7285bcae 100644 --- a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c +++ b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c @@ -397,12 +397,10 @@ ThumbMRegList ( ) { UINTN Index, Start, End; - CHAR8 *Str; BOOLEAN First; - Str = mThumbMregListStr; - *Str = '\0'; - AsciiStrCat (Str, "{"); + mThumbMregListStr[0] = '\0'; + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, "{"); for (Index = 0, First = TRUE; Index <= 15; Index++) { if ((RegBitMask & (1 << Index)) != 0) { @@ -412,24 +410,24 @@ ThumbMRegList ( } if (!First) { - AsciiStrCat (Str, ","); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, ","); } else { First = FALSE; } if (Start == End) { - AsciiStrCat (Str, gReg[Start]); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, gReg[Start]); } else { - AsciiStrCat (Str, gReg[Start]); - AsciiStrCat (Str, "-"); - AsciiStrCat (Str, gReg[End]); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, gReg[Start]); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, "-"); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, gReg[End]); } } } if (First) { - AsciiStrCat (Str, "ERROR"); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, "ERROR"); } - AsciiStrCat (Str, "}"); + AsciiStrCatS (mThumbMregListStr, sizeof mThumbMregListStr, "}"); // BugBug: Make caller pass in buffer it is cleaner return mThumbMregListStr;