diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp index 7dc7f082c62..e147a644e05 100644 --- a/Kernel/Arch/i386/CPU.cpp +++ b/Kernel/Arch/i386/CPU.cpp @@ -1161,9 +1161,10 @@ Vector Processor::capture_stack_trace(Thread& thread, size_t max_frames auto walk_stack = [&](FlatPtr stack_ptr) { + static constexpr size_t max_stack_frames = 4096; stack_trace.append(eip); size_t count = 1; - while (stack_ptr) { + while (stack_ptr && stack_trace.size() < max_stack_frames) { FlatPtr retaddr; count++;