x86_64: fixup bad memory walk when doing backtraces
This commit is contained in:
parent
b4f5eb4b01
commit
ade7d13707
|
@ -248,7 +248,7 @@ static void dump_traceback(uintptr_t ip, uintptr_t bp) {
|
||||||
} else {
|
} else {
|
||||||
dprintf("\a (unknown)\n");
|
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;
|
break;
|
||||||
}
|
}
|
||||||
ip = *(uintptr_t*)(bp + sizeof(uintptr_t));
|
ip = *(uintptr_t*)(bp + sizeof(uintptr_t));
|
||||||
|
|
Loading…
Reference in New Issue