diff options
author | Michael Snyder <msnyder@specifix.com> | 2002-01-08 02:04:12 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@specifix.com> | 2002-01-08 02:04:12 +0000 |
commit | ebb86bf37348f4561586a9bcc2eb8184f801d230 (patch) | |
tree | 0ebbea2c9a1f77aca56a207404c3a384b7d8e0ed /gdb | |
parent | be805347a93ff183dcdbed2e74c9da2a3683af6e (diff) | |
download | gdb-ebb86bf37348f4561586a9bcc2eb8184f801d230.tar.gz |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/rs6000-nat.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c index 12229cddc0e..94daaff1d60 100644 --- a/gdb/rs6000-nat.c +++ b/gdb/rs6000-nat.c @@ -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 (); |