This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Patch: memset fixes
- From: Anthony Green <green at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: davej at redhat dot com
- Date: Fri, 25 Mar 2005 12:24:32 -0800
- Subject: Patch: memset fixes
- Organization: Red Hat, Inc.
Dave Jones recently pointed out some memset usage errors in gdb and the
ppc simulator. Here are some patches for the HEAD of the tree.
For gdb...
2005-03-25 Anthony Green <green@redhat.com>
* remote.c (remote_store_registers): Fix memset usage.
* std-regs.c (value_of_builtin_frame_reg): Ditto.
(value_of_builtin_frame_fp_reg): Ditto.
(value_of_builtin_frame_reg): Ditto.
For sim/ppc...
2005-03-25 Anthony Green <green@redhat.com>
* tree.c (parse_reg_property): Fix memset usage.
Index: gdb/remote.c
===================================================================
RCS file: /cvs/src/src/gdb/remote.c,v
retrieving revision 1.178
diff -u -p -r1.178 remote.c
--- gdb/remote.c 13 Mar 2005 22:06:10 -0000 1.178
+++ gdb/remote.c 25 Mar 2005 20:24:03 -0000
@@ -3501,7 +3501,7 @@ remote_store_registers (int regnum)
{
int i;
regs = alloca (rs->sizeof_g_packet);
- memset (regs, rs->sizeof_g_packet, 0);
+ memset (regs, 0, rs->sizeof_g_packet);
for (i = 0; i < NUM_REGS + NUM_PSEUDO_REGS; i++)
{
struct packet_reg *r = &rs->regs[i];
Index: gdb/std-regs.c
===================================================================
RCS file: /cvs/src/src/gdb/std-regs.c,v
retrieving revision 1.13
diff -u -p -r1.13 std-regs.c
--- gdb/std-regs.c 11 Feb 2005 04:06:05 -0000 1.13
+++ gdb/std-regs.c 25 Mar 2005 20:24:03 -0000
@@ -61,7 +61,7 @@ value_of_builtin_frame_reg (struct frame
val = allocate_value (builtin_type_frame_reg);
VALUE_LVAL (val) = not_lval;
buf = value_contents_raw (val);
- memset (buf, TYPE_LENGTH (value_type (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (value_type (val)));
/* frame.base. */
if (frame != NULL)
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
@@ -87,7 +87,7 @@ value_of_builtin_frame_fp_reg (struct fr
struct value *val = allocate_value (builtin_type_void_data_ptr);
char *buf = value_contents_raw (val);
if (frame == NULL)
- memset (buf, TYPE_LENGTH (value_type (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
get_frame_base_address (frame));
@@ -105,7 +105,7 @@ value_of_builtin_frame_pc_reg (struct fr
struct value *val = allocate_value (builtin_type_void_data_ptr);
char *buf = value_contents_raw (val);
if (frame == NULL)
- memset (buf, TYPE_LENGTH (value_type (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
get_frame_pc (frame));
Index: sim/ppc/tree.c
===================================================================
RCS file: /cvs/src/src/sim/ppc/tree.c,v
retrieving revision 1.3
diff -u -p -r1.3 tree.c
--- sim/ppc/tree.c 11 Jul 2004 23:42:07 -0000 1.3
+++ sim/ppc/tree.c 25 Mar 2005 20:24:05 -0000
@@ -539,7 +539,7 @@ parse_reg_property(device *current,
if (device_nr_size_cells(bus) > 0)
chp = parse_size(current, bus, chp, ®s[reg_nr].size);
else
- memset(®s[reg_nr].size, sizeof (®s[reg_nr].size), 0);
+ memset(®s[reg_nr].size, 0, sizeof (®s[reg_nr].size));
}
/* create it */