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-inl.h
address_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
address_map_unittest.cc
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.cc Adding stricter validation checks to various symbol parser functions. 2013-09-25 18:25:13 +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
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
binarystream_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
call_stack.cc
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
cfi_frame_info_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
contained_range_map-inl.h
contained_range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
contained_range_map_unittest.cc
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
disassembler_x86_unittest.cc Cleanup: Remove duplicate wording in license headers. 2013-04-23 23:18:39 +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.cc Add simple exploitability analysis for Linux crashes. 2013-10-29 20:03:39 +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
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
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
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-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
map_serializers_unittest.cc map_serializers_unittest: fix unused variable warning 2013-10-30 17:16:38 +00:00
microdump.cc Fix signal propagation logic for Linux/Android exception handler. 2015-06-22 11:50:00 +00:00
microdump_processor.cc Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_processor_unittest.cc 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_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
minidump.cc Remove unneeded definitions of O_BINARY 2015-01-28 21:47:31 +00:00
minidump_dump.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
minidump_dump_test
minidump_processor.cc Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
minidump_processor_unittest.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
minidump_stackwalk.cc Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
minidump_stackwalk_machine_readable_test
minidump_stackwalk_test
minidump_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +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.cc
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
pathname_stripper_unittest.cc
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
postfix_evaluator_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
process_state.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
processor.gyp Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +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
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
range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +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.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
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
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.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +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_address_list_unittest.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +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_amd64_unittest.cc Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +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_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_arm64_unittest.cc 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_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_mips_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +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_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_selftest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_selftest_sol.s
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.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_x86_unittest.cc Use register %ebp (instead of %esp) when calculating the value of 2013-11-05 23:50:49 +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_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_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_contained_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +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_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_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
static_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +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.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
synth_minidump_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
synth_minidump_unittest_data.h Use stdint types everywhere 2013-03-06 14:04:42 +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