This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
[eliz@is.elta.co.il: GDB: Stray bytes left in buffer by "info float"]
- To: gdb-patches@sourceware.cygnus.com
- Subject: [eliz@is.elta.co.il: GDB: Stray bytes left in buffer by "info float"]
- From: DJ Delorie <dj@delorie.com>
- Date: Sun, 27 Jun 1999 13:49:10 -0400
------- Start of forwarded message -------
Date: Sun, 27 Jun 1999 19:15:13 +0300 (IDT)
From: Eli Zaretskii <eliz@is.elta.co.il>
X-Sender: eliz@is
To: DJ Delorie <dj@delorie.com>
cc: Robert Hoehne <robert.hoehne@gmx.net>
Subject: GDB: Stray bytes left in buffer by "info float"
Content-Type: TEXT/PLAIN; charset=US-ASCII
1999-06-26 Eli Zaretskii <eliz@is.elta.co.il>
* infcmd.c (do_registers_info): Zero out buffers before filling
them with data from registers.
*** ./gdb/infcmd.c~0 Wed Jan 6 03:06:20 1999
- --- ./gdb/infcmd.c Sat Jun 5 13:23:26 1999
*************** do_registers_info (regnum, fpregs)
*** 1076,1081 ****
- --- 1076,1086 ----
char raw_buffer[MAX_REGISTER_RAW_SIZE];
char virtual_buffer[MAX_REGISTER_VIRTUAL_SIZE];
+ /* Zero out buffers, otherwise shorter registers may inherit stray
+ bits from longer ones. */
+ memset (raw_buffer, 0, MAX_REGISTER_RAW_SIZE);
+ memset (virtual_buffer, 0, MAX_REGISTER_VIRTUAL_SIZE);
+
/* Decide between printing all regs, nonfloat regs, or specific reg. */
if (regnum == -1) {
if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT && !fpregs)
------- End of forwarded message -------