From: Kevin O'Connor Date: Tue, 11 Feb 2014 22:36:56 +0000 (-0500) Subject: vgabios: Make sure stdvga_list_modes() doesn't overrun the buffer. X-Git-Tag: rel-1.7.5-rc1~39 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2620984b42fd2a374e94c75f04982c60edf179cb;p=people%2Fandrewcoop%2Fseabios.git vgabios: Make sure stdvga_list_modes() doesn't overrun the buffer. Signed-off-by: Kevin O'Connor --- diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index a97c85f..8436729 100644 --- a/vgasrc/stdvgamodes.c +++ b/vgasrc/stdvgamodes.c @@ -336,7 +336,7 @@ void stdvga_list_modes(u16 seg, u16 *dest, u16 *last) { int i; - for (i = 0; i < ARRAY_SIZE(vga_modes); i++) { + for (i = 0; i < ARRAY_SIZE(vga_modes) && dest < last; i++) { struct stdvga_mode_s *stdmode_g = &vga_modes[i]; u16 mode = GET_GLOBAL(stdmode_g->mode); if (mode == 0xffff)