gdb: initialize packet_result::m_textual_err_msg

When building GDB with -O2 and --enable-ubsan, I get some random errors
in the packet_result self test:

  /home/smarchi/src/binutils-gdb/gdb/remote.c:161:7: runtime error: load of value 92, which is not a valid value for type 'bool'

This happens because packet_result::m_textual_err_msg is uninitialized
when using the second constructor.  When such a packet_result object
gets copied, an invalid value for m_textual_err_msg (a bool field) is
loaded, which triggers ubsan.

Avoid this by initializing m_textual_err_msg.

Change-Id: I3ce44816bb0bfc6e442067292f993e5c17301b85
Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
Simon Marchi 2024-05-16 12:35:53 -04:00 committed by Simon Marchi
parent e2e6bf023e
commit 89457440e4

View File

@ -222,7 +222,7 @@ class packet_result
/* True if we have a textual error message, from an "E.MESSAGE"
response. */
bool m_textual_err_msg;
bool m_textual_err_msg = false;
};
/* Enumeration of packets for a remote target. */