Message ID | 20161021212737.15974-18-lersek@redhat.com |
---|---|
State | Accepted |
Commit | f00ace96f3c8e1dbfd0cd0d882b0c98cfbde37dc |
Headers | show |
On 21 October 2016 at 22:27, Laszlo Ersek <lersek@redhat.com> 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 <ard.biesheuvel@linaro.org> > Cc: Leif Lindholm <leif.lindholm@linaro.org> > Cc: Michael Zimmermann <sigmaepsilon92@gmail.com> > 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 <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > > 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 edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On 2016-10-24 00:58:46, Ard Biesheuvel wrote: > On 21 October 2016 at 22:27, Laszlo Ersek <lersek@redhat.com> 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 <ard.biesheuvel@linaro.org> > > Cc: Leif Lindholm <leif.lindholm@linaro.org> > > Cc: Michael Zimmermann <sigmaepsilon92@gmail.com> > > 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 <lersek@redhat.com> > > Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > --- > > > > 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 > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On 10/24/16 20:47, Jordan Justen wrote: > On 2016-10-24 00:58:46, Ard Biesheuvel wrote: >> On 21 October 2016 at 22:27, Laszlo Ersek <lersek@redhat.com> 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 <ard.biesheuvel@linaro.org> >>> Cc: Leif Lindholm <leif.lindholm@linaro.org> >>> Cc: Michael Zimmermann <sigmaepsilon92@gmail.com> >>> 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 <lersek@redhat.com> >> >> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> >>> --- >>> >>> 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.) Yep, I saw that; I couldn't decide whether to remove them or to leave them undisturbed. I will remove them. Thanks! Laszlo > > -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 >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
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;
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 <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Michael Zimmermann <sigmaepsilon92@gmail.com> 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 <lersek@redhat.com> --- 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(-) -- 2.9.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel