From: Simon Marchi Date: Thu, 16 May 2024 16:35:53 +0000 (-0400) Subject: gdb: initialize packet_result::m_textual_err_msg X-Git-Tag: gdb-15-branchpoint~72 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=89457440e4a4b71b1fe60ed3e034c814bf8eb6b7;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/gdb/remote.c b/gdb/remote.c index 6e568eb47b2..42b446c7e27 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -222,7 +222,7 @@ private: /* 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. */