summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanStepOut.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-03-13 16:34:56 +0000
committerSean Callanan <scallanan@apple.com>2012-03-13 16:34:56 +0000
commit632d2f729d749f0376c4d3429e5572c8078acfb8 (patch)
tree0d96f7e52c95bbbf1a2ef2ea78262b0ee7cf34b3 /lldb/source/Target/ThreadPlanStepOut.cpp
parentf0b7595e080b8cc1f8aa58eb9690412c7439aabe (diff)
downloadbcm5719-llvm-632d2f729d749f0376c4d3429e5572c8078acfb8.tar.gz
bcm5719-llvm-632d2f729d749f0376c4d3429e5572c8078acfb8.zip
Hardened the step-out plan in case it receives
bad stack IDs. llvm-svn: 152630
Diffstat (limited to 'lldb/source/Target/ThreadPlanStepOut.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanStepOut.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanStepOut.cpp b/lldb/source/Target/ThreadPlanStepOut.cpp
index 1b2f751f182..58507a80e60 100644
--- a/lldb/source/Target/ThreadPlanStepOut.cpp
+++ b/lldb/source/Target/ThreadPlanStepOut.cpp
@@ -57,6 +57,9 @@ ThreadPlanStepOut::ThreadPlanStepOut
StackFrameSP return_frame_sp (m_thread.GetStackFrameAtIndex(frame_idx + 1));
StackFrameSP immediate_return_from_sp (m_thread.GetStackFrameAtIndex (frame_idx));
+ if (!return_frame_sp || !immediate_return_from_sp)
+ return; // we can't do anything here. ValidatePlan() will return false.
+
m_step_out_to_id = return_frame_sp->GetStackID();
m_immediate_step_from_id = immediate_return_from_sp->GetStackID();
OpenPOWER on IntegriCloud