From 29d459a2d01a46c7115b6ce51f9e00944fac400f Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Mon, 11 Nov 2019 13:27:49 +0100 Subject: [PATCH] [upstreaming] Revert changes to ThreadPlanStepInRange::FrameMatchesAvoidCriteria --- lldb/source/Target/ThreadPlanStepInRange.cpp | 23 +++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp index c6dc64056c3e7..05eff19335ea1 100644 --- a/lldb/source/Target/ThreadPlanStepInRange.cpp +++ b/lldb/source/Target/ThreadPlanStepInRange.cpp @@ -408,18 +408,21 @@ bool ThreadPlanStepInRange::FrameMatchesAvoidCriteria() { StackFrame *frame = GetThread().GetStackFrameAtIndex(0).get(); // Check the library list first, as that's cheapest: + bool libraries_say_avoid = false; + FileSpecList libraries_to_avoid(GetThread().GetLibrariesToAvoid()); size_t num_libraries = libraries_to_avoid.GetSize(); - bool libraries_say_avoid = false; - SymbolContext sc(frame->GetSymbolContext(eSymbolContextModule)); - FileSpec frame_library(sc.module_sp->GetFileSpec()); - - if (frame_library) { - for (size_t i = 0; i < num_libraries; i++) { - const FileSpec &file_spec(libraries_to_avoid.GetFileSpecAtIndex(i)); - if (FileSpec::Equal(file_spec, frame_library, false)) { - libraries_say_avoid = true; - break; + if (num_libraries > 0) { + SymbolContext sc(frame->GetSymbolContext(eSymbolContextModule)); + FileSpec frame_library(sc.module_sp->GetFileSpec()); + + if (frame_library) { + for (size_t i = 0; i < num_libraries; i++) { + const FileSpec &file_spec(libraries_to_avoid.GetFileSpecAtIndex(i)); + if (FileSpec::Equal(file_spec, frame_library, false)) { + libraries_say_avoid = true; + break; + } } } }