breakpad/src/processor
Liu.andrew.x@gmail.com 12213a5e15 Checking for benign exceptions that trigger a minidump.
If the exception reponsible for the crash is benign, such as a floating point
exception, we can rule out the possibility that the code is exploitable. This
CL checks for such exceptions and marks the dump as not exploitable if such an
exception is found.

R=ivanpe@chromium.org

Review URL: https://codereview.chromium.org/1212383004

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1467 4c0a9323-5329-0410-9bdc-e9ce6186880e
2015-06-30 20:34:39 +00:00
..
proto Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
testdata Checking location of the instruction pointer to see if it is 2015-06-25 23:05:16 +00:00
address_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
address_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
address_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
basic_code_module.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
basic_code_modules.cc Microdump processing implementation 2014-11-19 21:33:26 +00:00
basic_code_modules.h Microdump processing implementation 2014-11-19 21:33:26 +00:00
basic_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
basic_source_line_resolver_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
basic_source_line_resolver.cc Adding stricter validation checks to various symbol parser functions. 2013-09-25 18:25:13 +00:00
binarystream_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
binarystream.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
binarystream.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
call_stack.cc Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
cfi_frame_info_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
cfi_frame_info-inl.h Fix a sizeof(pointer) vs sizeof(pointee) issue caught by client. 2011-07-21 21:38:01 +00:00
cfi_frame_info.cc Fix some more Win32 compat issues in processor code 2013-03-06 14:06:52 +00:00
cfi_frame_info.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
contained_range_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
contained_range_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
contained_range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
disassembler_x86_unittest.cc Cleanup: Remove duplicate wording in license headers. 2013-04-23 23:18:39 +00:00
disassembler_x86.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
disassembler_x86.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
dump_context.cc Remove unneeded definitions of O_BINARY 2015-01-28 21:47:31 +00:00
dump_object.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
exploitability_linux.cc Checking for benign exceptions that trigger a minidump. 2015-06-30 20:34:39 +00:00
exploitability_linux.h Checking for benign exceptions that trigger a minidump. 2015-06-30 20:34:39 +00:00
exploitability_unittest.cc Checking for benign exceptions that trigger a minidump. 2015-06-30 20:34:39 +00:00
exploitability_win.cc Fix an "unused variable" compiler warning in exploitability_win.cc 2013-05-06 23:27:28 +00:00
exploitability_win.h Added the base exploitability module for windows. This only adds the very basic exception type based analysis for now. 2010-09-22 02:37:19 +00:00
exploitability.cc Add simple exploitability analysis for Linux crashes. 2013-10-29 20:03:39 +00:00
fast_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
fast_source_line_resolver_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
fast_source_line_resolver.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
linked_ptr.h Fix processor to build with clang 2012-09-10 19:46:19 +00:00
logging.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
logging.h Add support for configuring the minimum log level at compile time 2013-11-05 19:43:48 +00:00
map_serializers_unittest.cc map_serializers_unittest: fix unused variable warning 2013-10-30 17:16:38 +00:00
map_serializers-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
map_serializers.h Make memory allocation/deallocation consistent: use new char[] instead of operator new() 2010-11-03 23:54:01 +00:00
microdump_processor_unittest.cc Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_processor.cc Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk_machine_readable_test Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk_test Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk_test_vars Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk.cc Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
microdump.cc Fix signal propagation logic for Linux/Android exception handler. 2015-06-22 11:50:00 +00:00
minidump_dump_test Suppress handler thread from appearing in MinidumpProcessor's ProcessState 2006-11-06 23:00:19 +00:00
minidump_dump.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
minidump_processor_unittest.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
minidump_processor.cc Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
minidump_stackwalk_machine_readable_test Add module list to machine-readable minidump_stackwalk output (#119). 2007-01-29 21:30:31 +00:00
minidump_stackwalk_test minidump_stackwalk should use MinidumpProcessor (#64). r=bryner 2006-10-27 00:40:56 +00:00
minidump_stackwalk.cc Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
minidump_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
minidump.cc Remove unneeded definitions of O_BINARY 2015-01-28 21:47:31 +00:00
module_comparer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_comparer.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_factory.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_serializer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
pathname_stripper_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
pathname_stripper.cc Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
pathname_stripper.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
postfix_evaluator_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
postfix_evaluator-inl.h Handle program strings with the assignment operator smashed against the next 2012-02-23 22:41:36 +00:00
postfix_evaluator.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
process_state.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
processor_tools.gypi Add GYP build for the src/tools directory on Mac and Linux. 2014-07-24 15:22:51 +00:00
processor.gyp Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
range_map-inl.h Turn off verbose logging but keep logic for future reference for debug logging. 2013-04-05 00:53:45 +00:00
range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
simple_serializer-inl.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
simple_symbol_supplier.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_symbol_supplier.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
stack_frame_cpu.cc Process minidumps generated on ARM64 in iOS apps. 2013-11-23 01:45:20 +00:00
stack_frame_symbolizer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
stackwalk_common.cc Formatting tweak for https://breakpad.appspot.com/9774002, add more newlines 2015-02-27 13:40:41 +00:00
stackwalk_common.h Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
stackwalker_address_list_unittest.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_address_list.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_address_list.h Create StackwalkerAddressList. 2013-08-23 14:38:36 +00:00
stackwalker_amd64_unittest.cc Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_amd64.cc Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_amd64.h Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_arm64_unittest.cc Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm64.cc Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm64.h Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm_unittest.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_arm.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_arm.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_mips_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
stackwalker_mips.cc This patch adds required change for stackwalker_mips_unittest to pass on 64bit 2013-09-30 09:34:55 +00:00
stackwalker_mips.h Adding support for mips. 2013-09-11 11:37:04 +00:00
stackwalker_ppc64.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc64.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_selftest_sol.s Add SPARC/Solaris support to client handler and processor (#201, 200). 2007-09-26 18:28:05 +00:00
stackwalker_selftest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_sparc.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_sparc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_unittest_utils.h Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_x86_unittest.cc Use register %ebp (instead of %esp) when calculating the value of 2013-11-05 23:50:49 +00:00
stackwalker_x86.cc Use register %ebp (instead of %esp) when calculating the value of 2013-11-05 23:50:49 +00:00
stackwalker_x86.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
static_address_map_unittest.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
static_address_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_address_map.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_contained_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
static_contained_range_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_contained_range_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
static_range_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_range_map.h Cleaning up google-breakpad source code of signed-unsigned comparison warnings 2012-11-21 01:33:08 +00:00
symbolic_constants_win.cc Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
symbolic_constants_win.h Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
synth_minidump_unittest_data.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
synth_minidump_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
synth_minidump.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
synth_minidump.h Adding support for mips. 2013-09-11 11:37:04 +00:00
tokenize.cc Fix a clang warning: 2013-06-28 20:45:10 +00:00
tokenize.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
windows_frame_info.h Fix some more Win32 compat issues in processor code 2013-03-06 14:06:52 +00:00