]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb: initialize packet_result::m_textual_err_msg
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 16 May 2024 16:35:53 +0000 (12:35 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 16 May 2024 17:25:49 +0000 (13:25 -0400)
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>
gdb/remote.c

index 6e568eb47b232a842002b99181b04b3ab1cde155..42b446c7e27e62d3021d279237a0a43119e0e8b5 100644 (file)
@@ -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.  */