| OLD | NEW |
| 1 // Copyright (c) 2010 Google Inc. | 1 // Copyright (c) 2010 Google Inc. |
| 2 // All rights reserved. | 2 // All rights reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
| 9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
| 10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 : dump_(dump), | 51 : dump_(dump), |
| 52 process_state_(process_state) {} | 52 process_state_(process_state) {} |
| 53 | 53 |
| 54 ExploitabilityRating Exploitability::CheckExploitability() { | 54 ExploitabilityRating Exploitability::CheckExploitability() { |
| 55 return CheckPlatformExploitability(); | 55 return CheckPlatformExploitability(); |
| 56 } | 56 } |
| 57 | 57 |
| 58 Exploitability *Exploitability::ExploitabilityForPlatform( | 58 Exploitability *Exploitability::ExploitabilityForPlatform( |
| 59 Minidump *dump, | 59 Minidump *dump, |
| 60 ProcessState *process_state) { | 60 ProcessState *process_state) { |
| 61 return ExploitabilityForPlatform(dump, process_state, false); |
| 62 } |
| 63 |
| 64 Exploitability *Exploitability::ExploitabilityForPlatform( |
| 65 Minidump *dump, |
| 66 ProcessState *process_state, |
| 67 bool enable_objdump) { |
| 61 Exploitability *platform_exploitability = NULL; | 68 Exploitability *platform_exploitability = NULL; |
| 62 MinidumpSystemInfo *minidump_system_info = dump->GetSystemInfo(); | 69 MinidumpSystemInfo *minidump_system_info = dump->GetSystemInfo(); |
| 63 if (!minidump_system_info) | 70 if (!minidump_system_info) |
| 64 return NULL; | 71 return NULL; |
| 65 | 72 |
| 66 const MDRawSystemInfo *raw_system_info = | 73 const MDRawSystemInfo *raw_system_info = |
| 67 minidump_system_info->system_info(); | 74 minidump_system_info->system_info(); |
| 68 if (!raw_system_info) | 75 if (!raw_system_info) |
| 69 return NULL; | 76 return NULL; |
| 70 | 77 |
| 71 switch (raw_system_info->platform_id) { | 78 switch (raw_system_info->platform_id) { |
| 72 case MD_OS_WIN32_NT: | 79 case MD_OS_WIN32_NT: |
| 73 case MD_OS_WIN32_WINDOWS: { | 80 case MD_OS_WIN32_WINDOWS: { |
| 74 platform_exploitability = new ExploitabilityWin(dump, process_state); | 81 platform_exploitability = new ExploitabilityWin(dump, process_state); |
| 75 break; | 82 break; |
| 76 } | 83 } |
| 77 case MD_OS_LINUX: { | 84 case MD_OS_LINUX: { |
| 78 platform_exploitability = new ExploitabilityLinux(dump, process_state); | 85 platform_exploitability = new ExploitabilityLinux(dump, |
| 86 process_state, |
| 87 enable_objdump); |
| 79 break; | 88 break; |
| 80 } | 89 } |
| 81 case MD_OS_MAC_OS_X: | 90 case MD_OS_MAC_OS_X: |
| 82 case MD_OS_IOS: | 91 case MD_OS_IOS: |
| 83 case MD_OS_UNIX: | 92 case MD_OS_UNIX: |
| 84 case MD_OS_SOLARIS: | 93 case MD_OS_SOLARIS: |
| 85 case MD_OS_ANDROID: | 94 case MD_OS_ANDROID: |
| 86 case MD_OS_PS3: | 95 case MD_OS_PS3: |
| 87 default: { | 96 default: { |
| 88 platform_exploitability = NULL; | 97 platform_exploitability = NULL; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 101 uint8_t byte = (address >> (8*i)) & 0xff; | 110 uint8_t byte = (address >> (8*i)) & 0xff; |
| 102 if ((byte >= ' ' && byte <= '~') || byte == 0) | 111 if ((byte >= ' ' && byte <= '~') || byte == 0) |
| 103 continue; | 112 continue; |
| 104 return false; | 113 return false; |
| 105 } | 114 } |
| 106 return true; | 115 return true; |
| 107 } | 116 } |
| 108 | 117 |
| 109 } // namespace google_breakpad | 118 } // namespace google_breakpad |
| 110 | 119 |
| OLD | NEW |