On 2016-10-24 00:58:46, Ard Biesheuvel wrote:
> 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, "{");
Maybe drop the extra space after the function name throughout this
patch. (There are 2 instead of just one.)
-Jordan
> > 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
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel