From 23aa2befce75966acd388b810e139922857533fa Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 20 Jul 2022 13:57:08 +0100 Subject: gdb/python: fix invalid use disassemble_info::stream After this commit: commit 81384924cdcc9eb2676dd9084b76845d7d0e0759 Date: Tue Apr 5 11:06:16 2022 +0100 gdb: have gdb_disassemble_info carry 'this' in its stream pointer The disassemble_info::stream field will no longer be a ui_file*. That commit failed to update one location in py-disasm.c though. While running some tests using the Python disassembler API, I triggered a call to gdbpy_disassembler::print_address_func, and, as I had compiled GDB with the undefined behaviour sanitizer, GDB crashed as the code currently (incorrectly) casts the stream field to be a ui_file*. In this commit I fix this error. In order to test this case I had to tweak the existing test case a little. I also spotted some debug printf statements in py-disasm.py, which I have removed. --- gdb/testsuite/gdb.python/py-disasm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gdb/testsuite/gdb.python/py-disasm.c') diff --git a/gdb/testsuite/gdb.python/py-disasm.c b/gdb/testsuite/gdb.python/py-disasm.c index ee0bb15..e5c4d2f 100644 --- a/gdb/testsuite/gdb.python/py-disasm.c +++ b/gdb/testsuite/gdb.python/py-disasm.c @@ -16,10 +16,16 @@ along with this program. If not, see . */ int -main () +test () { asm ("nop"); asm ("nop"); /* Break here. */ asm ("nop"); return 0; } + +int +main () +{ + return test (); +} -- cgit v1.1