mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 22:07:34 +00:00
Kernel: Stop back trace on a null base pointer
This silences some warnings trying to copy from null when capturing a stack trace.
This commit is contained in:
parent
ad7030ce4a
commit
f5330304a4
1 changed files with 2 additions and 2 deletions
|
@ -868,7 +868,7 @@ String Thread::backtrace_impl()
|
||||||
FlatPtr stack_ptr, eip;
|
FlatPtr stack_ptr, eip;
|
||||||
if (Processor::get_context_frame_ptr(*this, stack_ptr, eip)) {
|
if (Processor::get_context_frame_ptr(*this, stack_ptr, eip)) {
|
||||||
recognized_symbols.append({ eip, symbolicate_kernel_address(eip) });
|
recognized_symbols.append({ eip, symbolicate_kernel_address(eip) });
|
||||||
for (;;) {
|
while (stack_ptr) {
|
||||||
FlatPtr retaddr;
|
FlatPtr retaddr;
|
||||||
|
|
||||||
if (is_user_range(VirtualAddress(stack_ptr), sizeof(FlatPtr) * 2)) {
|
if (is_user_range(VirtualAddress(stack_ptr), sizeof(FlatPtr) * 2)) {
|
||||||
|
@ -906,7 +906,7 @@ Vector<FlatPtr> Thread::raw_backtrace(FlatPtr ebp, FlatPtr eip) const
|
||||||
backtrace.append(eip);
|
backtrace.append(eip);
|
||||||
FlatPtr stack_ptr_copy;
|
FlatPtr stack_ptr_copy;
|
||||||
FlatPtr stack_ptr = (FlatPtr)ebp;
|
FlatPtr stack_ptr = (FlatPtr)ebp;
|
||||||
for (;;) {
|
while (stack_ptr) {
|
||||||
void* fault_at;
|
void* fault_at;
|
||||||
if (!safe_memcpy(&stack_ptr_copy, (void*)stack_ptr, sizeof(FlatPtr), fault_at))
|
if (!safe_memcpy(&stack_ptr_copy, (void*)stack_ptr, sizeof(FlatPtr), fault_at))
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue