summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/DWARFCallFrameInfo.cpp
diff options
context:
space:
mode:
authorVirgile Bello <virgile.bello@gmail.com>2013-08-25 13:24:48 +0000
committerVirgile Bello <virgile.bello@gmail.com>2013-08-25 13:24:48 +0000
commit8452cb54862b3655cb8fa37ac9ba683b76971e2b (patch)
tree4ac800bd2a611b551a1398b4f083c87449932629 /lldb/source/Symbol/DWARFCallFrameInfo.cpp
parent171b6b19f11f7f75c2b7531f420de139d29b36be (diff)
downloadbcm5719-llvm-8452cb54862b3655cb8fa37ac9ba683b76971e2b.tar.gz
bcm5719-llvm-8452cb54862b3655cb8fa37ac9ba683b76971e2b.zip
Fix DWARF for 0-length CIE (data after the length should not be read if length is 0).
llvm-svn: 189191
Diffstat (limited to 'lldb/source/Symbol/DWARFCallFrameInfo.cpp')
-rw-r--r--lldb/source/Symbol/DWARFCallFrameInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Symbol/DWARFCallFrameInfo.cpp b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
index e8f99a98011..5caf8007485 100644
--- a/lldb/source/Symbol/DWARFCallFrameInfo.cpp
+++ b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
@@ -341,7 +341,7 @@ DWARFCallFrameInfo::GetFDEIndex ()
dw_offset_t next_entry = current_entry + len + 4;
dw_offset_t cie_id = m_cfi_data.GetU32 (&offset);
- if (cie_id == 0 || cie_id == UINT32_MAX)
+ if (cie_id == 0 || cie_id == UINT32_MAX || len == 0)
{
m_cie_map[current_entry] = ParseCIE (current_entry);
offset = next_entry;
OpenPOWER on IntegriCloud