diff options
Diffstat (limited to 'src/processor/exploitability_unittest.cc')
-rw-r--r-- | src/processor/exploitability_unittest.cc | 62 |
1 files changed, 45 insertions, 17 deletions
diff --git a/src/processor/exploitability_unittest.cc b/src/processor/exploitability_unittest.cc index fab4b448..d365e610 100644 --- a/src/processor/exploitability_unittest.cc +++ b/src/processor/exploitability_unittest.cc @@ -127,87 +127,115 @@ TEST(ExploitabilityTest, TestWindowsEngine) { ProcessState state; string minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av.dmp"; + "/src/processor/testdata/ascii_read_av.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av_block_write.dmp"; + "/src/processor/testdata/ascii_read_av_block_write.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av_clobber_write.dmp"; + "/src/processor/testdata/ascii_read_av_clobber_write.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av_conditional.dmp"; + "/src/processor/testdata/ascii_read_av_conditional.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av_then_jmp.dmp"; + "/src/processor/testdata/ascii_read_av_then_jmp.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_read_av_xchg_write.dmp"; + "/src/processor/testdata/ascii_read_av_xchg_write.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_write_av.dmp"; + "/src/processor/testdata/ascii_write_av.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); - ASSERT_EQ(google_breakpad::EXPLOITABLITY_MEDIUM, + ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/ascii_write_av_arg_to_call.dmp"; + "/src/processor/testdata/ascii_write_av_arg_to_call.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); - ASSERT_EQ(google_breakpad::EXPLOITABLITY_MEDIUM, + ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/null_read_av.dmp"; + "/src/processor/testdata/null_read_av.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_NONE, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/null_write_av.dmp"; + "/src/processor/testdata/null_write_av.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_NONE, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/stack_exhaustion.dmp"; + "/src/processor/testdata/stack_exhaustion.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_NONE, state.exploitability()); minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/exec_av_on_stack.dmp"; + "/src/processor/testdata/exec_av_on_stack.dmp"; ASSERT_EQ(processor.Process(minidump_file, &state), google_breakpad::PROCESS_OK); ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, state.exploitability()); + + minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + + "/src/processor/testdata/write_av_non_null.dmp"; + ASSERT_EQ(processor.Process(minidump_file, &state), + google_breakpad::PROCESS_OK); + ASSERT_EQ(google_breakpad::EXPLOITABLITY_MEDIUM, + state.exploitability()); + + minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + + "/src/processor/testdata/read_av_non_null.dmp"; + ASSERT_EQ(processor.Process(minidump_file, &state), + google_breakpad::PROCESS_OK); + ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + state.exploitability()); + + minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + + "/src/processor/testdata/read_av_clobber_write.dmp"; + ASSERT_EQ(processor.Process(minidump_file, &state), + google_breakpad::PROCESS_OK); + ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + state.exploitability()); + + minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + + "/src/processor/testdata/read_av_conditional.dmp"; + ASSERT_EQ(processor.Process(minidump_file, &state), + google_breakpad::PROCESS_OK); + ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, + state.exploitability()); } } |