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 <[email protected]> Cc: Leif Lindholm <[email protected]> Cc: Michael Zimmermann <[email protected]> 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 <[email protected]> --- Notes: - build-tested only - Michael (CC'd) had posted a patch earlier for this: <https://lists.01.org/pipermail/edk2-devel/2016-August/000489.html>, but I only noticed that now that he pointed it out, in <https://lists.01.org/pipermail/edk2-devel/2016-October/003121.html>. I'll leave it to the ArmPkg maintainers to choose one; I don't feel strongly either way. ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c | 22 +++++++++----------- ArmPkg/Library/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 29a8d4438622..8551edc379c1 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 5bad3afcfbf6..86d5083cb189 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; -- 2.9.2 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

