diff --git a/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c b/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c index 29a8d44386..29d9414a78 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 5bad3afcfb..8c7285bcae 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;