HomePhabricator

Restructure the minidump loading path and add early & explicit consistency…

Authored by lemo on Jul 12 2018, 10:27 AM.

Description

Restructure the minidump loading path and add early & explicit consistency checks

Corrupted minidumps was leading to unpredictable behavior.

This change adds explicit consistency checks for the minidump early on. The
checks are not comprehensive but they should catch obvious structural violations:

streams with type == 0
duplicate streams (same type)
overlapping streams
truncated minidumps

Another early check is to make sure we actually support the minidump architecture
instead of crashing at a random place deep inside LLDB.

Differential Revision: https://reviews.llvm.org/D49202

llvm-svn: 336918