linux: Use an empty string for unmapped module names

This may be a bug in the target program or loader, but doesn't seem
like something worth dying over. If a link_entry name is empty,
ProcessReaderLinux::InitializeModules() will fall back to using the
name of the module's mapping. In this case, the main executable's
link entry name pointed into unmapped memory, but the memory map was
able to identify it as app_process32.

Bug: crashpad:30
Change-Id: Ic6df08132271efb809bf0bc28f23a333deb20a67
Reviewed-on: https://chromium-review.googlesource.com/999301
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Joshua Peraza 2018-04-05 19:09:44 -07:00 committed by Commit Bot
parent 1bb4c233e3
commit a3ba96c0d4

View File

@ -63,7 +63,7 @@ bool ReadLinkEntry(const ProcessMemoryRange& memory,
std::string name;
if (!memory.ReadCStringSizeLimited(entry.l_name, 4096, &name)) {
return false;
name.clear();
}
entry_out->load_bias = entry.l_addr;