x86_64: fixup bad memory walk when doing backtraces

This commit is contained in:
K. Lange 2021-11-24 17:33:38 +09:00
parent b4f5eb4b01
commit ade7d13707
1 changed files with 1 additions and 1 deletions

View File

@ -248,7 +248,7 @@ static void dump_traceback(uintptr_t ip, uintptr_t bp) {
} else {
dprintf("\a (unknown)\n");
}
if (!validate_pointer(bp, sizeof(uintptr_t) * 2)) {
if (!validate_pointer(bp, sizeof(uintptr_t)) || !validate_pointer(bp + sizeof(uintptr_t), sizeof(uintptr_t))) {
break;
}
ip = *(uintptr_t*)(bp + sizeof(uintptr_t));