aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.python/py-disasm.c
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2022-07-20 13:57:08 +0100
committerAndrew Burgess <aburgess@redhat.com>2022-07-25 19:26:24 +0100
commit23aa2befce75966acd388b810e139922857533fa (patch)
tree0b53ae068688c12f313eef7065fab9c0b9b33326 /gdb/testsuite/gdb.python/py-disasm.c
parent554128418b4f1328bb956d5926f24bfd56fd45ea (diff)
downloadgdb-23aa2befce75966acd388b810e139922857533fa.zip
gdb-23aa2befce75966acd388b810e139922857533fa.tar.gz
gdb-23aa2befce75966acd388b810e139922857533fa.tar.bz2
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.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-disasm.c')
-rw-r--r--gdb/testsuite/gdb.python/py-disasm.c8
1 files changed, 7 insertions, 1 deletions
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 <http://www.gnu.org/licenses/>. */
int
-main ()
+test ()
{
asm ("nop");
asm ("nop"); /* Break here. */
asm ("nop");
return 0;
}
+
+int
+main ()
+{
+ return test ();
+}