On 21 October 2016 at 22:27, Laszlo Ersek <ler...@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.biesheu...@linaro.org>
> Cc: Leif Lindholm <leif.lindh...@linaro.org>
> Cc: Michael Zimmermann <sigmaepsilo...@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 <ler...@redhat.com>

Reviewed-by: Ard Biesheuvel <ard.biesheu...@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

Reply via email to