+2015-08-19 Gary Benson <gbenson@redhat.com>
+
+ * hostio.c (handle_pread): Do not attempt to read more data
+ than hostio_reply_with_data can fit in a packet.
+
2015-08-18 Joel Brobecker <brobecker@adacore.com>
* linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.
{
int fd, ret, len, offset, bytes_sent;
char *p, *data;
+ static int max_reply_size = -1;
p = own_buf + strlen ("vFile:pread:");
return;
}
+ /* Do not attempt to read more than the maximum number of bytes
+ hostio_reply_with_data can fit in a packet. We may still read
+ too much because of escaping, but this is handled below. */
+ if (max_reply_size == -1)
+ {
+ sprintf (own_buf, "F%x;", PBUFSIZ);
+ max_reply_size = PBUFSIZ - strlen (own_buf);
+ }
+ if (len > max_reply_size)
+ len = max_reply_size;
+
data = xmalloc (len);
#ifdef HAVE_PREAD
ret = pread (fd, data, len, offset);