From 881b740eae458fac1aeb37338c0cfc6db10d5d9f Mon Sep 17 00:00:00 2001 From: Stephen Michael Jothen Date: Fri, 3 Jun 2022 21:21:18 +0200 Subject: [PATCH] Transform GDT limit and compare with that --- tool/build/lib/machine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/build/lib/machine.c b/tool/build/lib/machine.c index 0cf9a0d01..aba400fa2 100644 --- a/tool/build/lib/machine.c +++ b/tool/build/lib/machine.c @@ -210,7 +210,7 @@ static relegated int GetDescriptor(struct Machine *m, int selector, uint8_t buf[8]; DCHECK(m->gdt_base + m->gdt_limit <= m->real.n); selector &= -8; - if (8 <= selector && selector + 8 <= m->gdt_limit) { + if (8 <= selector && selector + 8 <= m->gdt_limit + 1) { SetReadAddr(m, m->gdt_base + selector, 8); *out_descriptor = Read64(m->real.p + m->gdt_base + selector); return 0;