This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] Fix gdbserver with no /proc
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb-patches at sourceware dot org
- Date: Mon, 6 Nov 2006 16:52:04 -0500
- Subject: [commit] Fix gdbserver with no /proc
Pie on my face. I happened to run gdbserver without /proc mounted this
weekend; it looped forever trying to send more and more auxv data from
an uninitialized buffer. -1 means stop, really.
Committed.
--
Daniel Jacobowitz
CodeSourcery
2006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
* server.c (handle_query): Correct error handling for read_auxv.
Index: server.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/server.c,v
retrieving revision 1.40
diff -u -p -r1.40 server.c
--- server.c 17 Oct 2006 16:02:27 -0000 1.40
+++ server.c 6 Nov 2006 21:49:09 -0000
@@ -232,7 +232,9 @@ handle_query (char *own_buf, int *new_pa
len = PBUFSIZ - 2;
data = malloc (len + 1);
n = (*the_target->read_auxv) (ofs, data, len + 1);
- if (n > len)
+ if (n < 0)
+ write_enn (own_buf);
+ else if (n > len)
*new_packet_len_p = write_qxfer_response (own_buf, data, len, 1);
else
*new_packet_len_p = write_qxfer_response (own_buf, data, n, 0);