last character in the buffer.
Reported by: Vladimir Serbinenko.
+2010-06-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
+ last character in the buffer.
+ Reported by: Vladimir Serbinenko.
+
2010-06-29 Robert Millan <rmh@gnu.org>
* docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
if ((grub_isprint (c) || grub_isspace (c)) && c != '\r')
grub_putchar (c);
- else if (dos && c == '\r' && buf[i + 1] == '\n')
+ else if (dos && c == '\r' && i + 1 < size && buf[i + 1] == '\n')
{
grub_putchar ('\n');
i++;