On 21 October 2016 at 22:27, Laszlo Ersek <[email protected]> wrote: > 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]>
Reviewed-by: Ard Biesheuvel <[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. > Apologies to Michael for ignoring his contribution, but I'd be happy for Laszlo to merge this as part of the series. > 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

