2002-01-07 Michael Snyder <msnyder@redhat.com>
* infptrace.c (GDB_MAX_ALLOCA): New define. (child_xfer_memory): Use xmalloc/xfree instead of alloca if the size of the buffer exceeds GDB_MAX_ALLOCA (default 1 megabyte, can be overridden with whatever value is appropriate to the host). * infttrace.c (child_xfer_memory): Add FIXME warning about use of alloca to allocate potentially large buffer. * rs6000-nat.c (child_xfer_memory): Ditto. * symm-nat.c (child_xfer_memory): Ditto. * x86-64-linux-nat.c (child_xfer_memory): Ditto.
This commit is contained in:
parent
21c1c9207f
commit
d33fc4e447
|
@ -407,6 +407,9 @@ child_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len,
|
|||
/ sizeof (int);
|
||||
|
||||
/* Allocate word transfer buffer. */
|
||||
/* FIXME (alloca): This code, cloned from infptrace.c, is unsafe
|
||||
because it uses alloca to allocate a buffer of arbitrary size.
|
||||
For very large xfers, this could crash GDB's stack. */
|
||||
int *buf = (int *) alloca (count * sizeof (int));
|
||||
|
||||
int arch64 = ARCH64 ();
|
||||
|
|
Loading…
Reference in New Issue