diff mbox

[edk2,17/19] ArmPkg/ArmDisassemblerLib: replace AsciiStrCat() with AsciiStrCatS()

Message ID 20161021212737.15974-18-lersek@redhat.com
State Accepted
Commit f00ace96f3c8e1dbfd0cd0d882b0c98cfbde37dc
Headers show

Commit Message

Laszlo Ersek Oct. 21, 2016, 9:27 p.m. UTC
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

Comments

Ard Biesheuvel Oct. 24, 2016, 7:58 a.m. UTC | #1
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
Jordan Justen Oct. 24, 2016, 6:47 p.m. UTC | #2
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
Laszlo Ersek Oct. 24, 2016, 7:54 p.m. UTC | #3
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 mbox

Patch

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;