This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]