Skip to content

Commit bdacf8a

Browse files
committed
[lldb] Don't crash on malformed filesets (llvm#98388)
The memory read can fail for a malformed fileset. Handle it gracefully instead of passing a nullptr to the std::string constructor. rdar://131477833 (cherry picked from commit 919caa8)
1 parent a41678e commit bdacf8a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ ParseFileset(DataExtractor &data, mach_header header,
159159
fileset_entry_command entry;
160160
data.CopyData(load_cmd_offset, sizeof(fileset_entry_command), &entry);
161161
lldb::offset_t entry_id_offset = load_cmd_offset + entry.entry_id;
162-
const char *id = data.GetCStr(&entry_id_offset);
163-
entries.emplace_back(entry.vmaddr + slide, entry.fileoff,
164-
std::string(id));
162+
if (const char *id = data.GetCStr(&entry_id_offset))
163+
entries.emplace_back(entry.vmaddr + slide, entry.fileoff,
164+
std::string(id));
165165
}
166166

167167
offset = load_cmd_offset + lc.cmdsize;

0 commit comments

Comments
 (0)