aboutsummaryrefslogtreecommitdiff
path: root/libs/libc/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'libs/libc/print.c')
-rw-r--r--libs/libc/print.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/libc/print.c b/libs/libc/print.c
index c4455eb..463fef6 100644
--- a/libs/libc/print.c
+++ b/libs/libc/print.c
@@ -241,6 +241,8 @@ void print_trace(u32 count)
__asm__ volatile("movl %%ebp, %0;" : "=r"(stk));
print("EBP\tEIP\n");
for (u32 i = 0; stk && memory_readable(stk) && i < count; i++) {
+ if (!stk->ebp || !stk->eip)
+ break;
printf("0x%x\t0x%x\n", stk->ebp, stk->eip);
stk = stk->ebp;
}