Debugger: replace sprintf() part 6 - Debugger_Disassembler (PR #1092)

- Improve FormatCharCopy() to not buffer overflow
- Improve FormatOpcodeBytes() to not buffer overflow
- Improve FormatNopcodeBytes() to not buffer overflow
- Change FormatDisassemblyLine() to return std::string
This commit is contained in:
Kelvin Lee
2022-05-01 23:24:35 +10:00
committed by GitHub
parent b9308b36ea
commit 47ba87a015
3 changed files with 135 additions and 115 deletions
+8 -8
View File
@@ -7701,8 +7701,8 @@ void OutputTraceLine ()
DisasmLine_t line;
GetDisassemblyLine( regs.pc, line );
char sDisassembly[ CONSOLE_WIDTH ]; // DrawDisassemblyLine( 0,regs.pc, sDisassembly); // Get Disasm String
FormatDisassemblyLine( line, sDisassembly, CONSOLE_WIDTH );
// DrawDisassemblyLine( 0,regs.pc, sDisassembly); // Get Disasm String
std::string sDisassembly = FormatDisassemblyLine( line );
char sFlags[] = "........";
WORD nRegFlags = regs.ps;
@@ -7758,9 +7758,9 @@ void OutputTraceLine ()
(unsigned)regs.x,
(unsigned)regs.y,
(unsigned)regs.sp,
(char*) sFlags
, sDisassembly
//, sTarget // TODO: Show target?
sFlags
, sDisassembly.c_str()
//, sTarget.c_str() // TODO: Show target?
);
}
else
@@ -7773,9 +7773,9 @@ void OutputTraceLine ()
(unsigned)regs.x,
(unsigned)regs.y,
(unsigned)regs.sp,
(char*) sFlags
, sDisassembly
//, sTarget // TODO: Show target?
sFlags
, sDisassembly.c_str()
//, sTarget.c_str() // TODO: Show target?
);
}
}