From: Kevin O'Connor Date: Thu, 7 May 2009 03:21:13 +0000 (-0400) Subject: Minor - verify e820 request is large enough to hold response. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=f969a08f033ab9ea23404a4709d045d0623afbc9;p=seabios.git Minor - verify e820 request is large enough to hold response. --- diff --git a/src/system.c b/src/system.c index 798dc25..245e9cf 100644 --- a/src/system.c +++ b/src/system.c @@ -274,7 +274,8 @@ static void handle_15e820(struct bregs *regs) { int count = GET_GLOBAL(e820_count); - if (regs->edx != 0x534D4150 || regs->bx >= count) { + if (regs->edx != 0x534D4150 || regs->bx >= count + || regs->ecx < sizeof(e820_list[0])) { set_code_fail(regs, RET_EUNSUPPORTED); return; }