llvm-project/lldb/source/Target
Jaroslav Sevcik cf5ed6dc59 Fix error handling after [<index>] in 'frame variable'
Summary:
This fixes a bug where

frame var a[0]+5

returns the value a[0] without any warning because the current logic simply ignores everything after ']' as long as there is no '.', '-' or '[' in the rest of the string.

The fix simplifies the termination condition of the expression path parsing loop to check if have a non-empty remaining string to parse. Previously, the condition checked if a separator was found. That condition coincided with the remaining string-to-parse condition except for the buggy indexed case where non-empty string was left ("+5" in the example above), but the separator index was 'npos'.

Reviewed By: teemperor, labath

Differential Revision: https://reviews.llvm.org/D79404
2020-05-06 11:03:46 +02:00
..
ABI.cpp Internal expressions shouldn't increment the result variable numbering. 2020-03-23 13:30:37 -07:00
AssertFrameRecognizer.cpp [lldb/Target] Support more than 2 symbols in StackFrameRecognizer 2020-03-18 14:15:58 +01:00
CMakeLists.txt Move thread plan stacks into the Process, indexed by TID. 2020-04-03 14:56:28 -07:00
ExecutionContext.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
InstrumentationRuntime.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
InstrumentationRuntimeStopInfo.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
JITLoader.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
JITLoaderList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
Language.cpp [lldb/DataFormatters] Delete GetStringPrinterEscapingHelper 2020-05-04 14:06:55 -07:00
LanguageRuntime.cpp [lldb] Make BreakpointResolver hold weak_ptr instead of raw pointer to breakpoint 2020-03-04 16:56:50 +03:00
Memory.cpp [LLDB] Fix AddressSanitizer failure in MemoryCache 2020-02-27 11:17:10 -08:00
MemoryHistory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
MemoryRegionInfo.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ModuleCache.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OperatingSystem.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
PathMappingList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
Platform.cpp [lldb/Core] Don't crash in GetSoftwareBreakpointTrapOpcode for unknown triples 2020-04-24 09:10:41 -07:00
Process.cpp [lldb/Core] Avoid more Communication::Disconnect races 2020-04-23 16:36:21 +02:00
Queue.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
QueueItem.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
QueueList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContext.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContextUnwind.cpp [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
RegisterNumber.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RemoteAwarePlatform.cpp [lldb] Prefer executable files from sysroot over files from local filesystem 2020-04-20 16:12:51 +02:00
SectionLoadHistory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
SectionLoadList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StackFrame.cpp Fix error handling after [<index>] in 'frame variable' 2020-05-06 11:03:46 +02:00
StackFrameList.cpp [lldb/DWARF] Reland: Use DW_AT_call_pc to determine artificial frame address 2020-03-24 12:54:40 -07:00
StackFrameRecognizer.cpp [lldb/Target] Support more than 2 symbols in StackFrameRecognizer 2020-03-18 14:15:58 +01:00
StackID.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StopInfo.cpp [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
StructuredDataPlugin.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
SystemRuntime.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
Target.cpp [lldb] Add option to retry Fix-Its multiple times to failed expressions 2020-04-06 11:25:36 +02:00
TargetList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
TargetProperties.td [lldb] Add option to retry Fix-Its multiple times to failed expressions 2020-04-06 11:25:36 +02:00
Thread.cpp Allow the ThreadPlanStackMap to hold the thread plans for threads 2020-04-03 14:56:28 -07:00
ThreadCollection.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadList.cpp Allow the ThreadPlanStackMap to hold the thread plans for threads 2020-04-03 14:56:28 -07:00
ThreadPlan.cpp Fix LLDB debug builds 2020-04-03 19:49:38 -07:00
ThreadPlanBase.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanCallFunction.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanCallFunctionUsingABI.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanCallOnFunctionExit.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadPlanCallUserExpression.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanPython.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanRunToAddress.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanShouldStopHere.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadPlanStack.cpp [lldb] Fix -Wparentheses in ThreadPlanStack.cpp 2020-04-15 12:47:57 +02:00
ThreadPlanStepInRange.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepInstruction.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepOut.cpp Allow the ThreadPlanStackMap to hold the thread plans for threads 2020-04-03 14:56:28 -07:00
ThreadPlanStepOverBreakpoint.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepOverRange.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepRange.cpp Fix unused variable, format, and format string warnings. 2020-04-03 17:58:59 -07:00
ThreadPlanStepThrough.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepUntil.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanTracer.cpp Make ThreadPlanTracers use TID & Process rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadSpec.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
UnixSignals.cpp [lldb][NFC] Remove several inefficient ConstString -> const char * -> StringRef conversions 2020-02-11 09:14:41 +01:00
UnwindAssembly.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
UnwindLLDB.cpp [lldb] Make UnwindLLDB a non-plugin 2020-03-10 13:56:15 +01:00