Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1043)

Side by Side Diff: src/processor/exploitability_linux.h

Issue 1697963002: Fixing a flaky Linux exploitability unittest. (Closed) Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: Fixing a typo. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 Google Inc. 1 // Copyright (c) 2013 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 #ifndef _WIN32 79 #ifndef _WIN32
80 // Disassembles raw bytes via objdump and pipes the output into the provided 80 // Disassembles raw bytes via objdump and pipes the output into the provided
81 // buffer, given the desired architecture, the file from which objdump will 81 // buffer, given the desired architecture, the file from which objdump will
82 // read, and the buffer length. The method returns whether the disassembly 82 // read, and the buffer length. The method returns whether the disassembly
83 // was a success, and the caller owns all pointers. 83 // was a success, and the caller owns all pointers.
84 static bool DisassembleBytes(const string &architecture, 84 static bool DisassembleBytes(const string &architecture,
85 const uint8_t *raw_bytes, 85 const uint8_t *raw_bytes,
86 const unsigned int MAX_OBJDUMP_BUFFER_LEN, 86 const unsigned int MAX_OBJDUMP_BUFFER_LEN,
87 char *objdump_output_buffer); 87 char *objdump_output_buffer);
88 88
89 // Parses the objdump output given in |objdump_output_buffer| and extracts
90 // the line of the first instruction into |instruction_line|. Returns true
91 // when the instruction line is successfully extracted.
92 static bool GetObjdumpInstructionLine(
93 const char *objdump_output_buffer,
94 string *instruction_line);
95
89 // Tokenizes out the operation and operands from a line of instruction 96 // Tokenizes out the operation and operands from a line of instruction
90 // disassembled by objdump. This method modifies the pointers to match the 97 // disassembled by objdump. This method modifies the pointers to match the
91 // tokens of the instruction, and returns if the tokenizing was a success. 98 // tokens of the instruction, and returns if the tokenizing was a success.
92 // The caller owns all pointers. 99 // The caller owns all pointers.
93 static bool TokenizeObjdumpInstruction(const string &line, 100 static bool TokenizeObjdumpInstruction(const string &line,
94 string *operation, 101 string *operation,
95 string *dest, 102 string *dest,
96 string *src); 103 string *src);
97 104
98 // Calculates the effective address of an expression in the form reg+a or 105 // Calculates the effective address of an expression in the form reg+a or
(...skipping 14 matching lines...) Expand all
113 bool ExecutableStackOrHeap(); 120 bool ExecutableStackOrHeap();
114 121
115 // Whether this exploitability engine is permitted to shell out to objdump 122 // Whether this exploitability engine is permitted to shell out to objdump
116 // to disassemble raw bytes. 123 // to disassemble raw bytes.
117 bool enable_objdump_; 124 bool enable_objdump_;
118 }; 125 };
119 126
120 } // namespace google_breakpad 127 } // namespace google_breakpad
121 128
122 #endif // GOOGLE_BREAKPAD_PROCESSOR_EXPLOITABILITY_LINUX_H_ 129 #endif // GOOGLE_BREAKPAD_PROCESSOR_EXPLOITABILITY_LINUX_H_
OLDNEW
« no previous file with comments | « no previous file | src/processor/exploitability_linux.cc » ('j') | src/processor/exploitability_linux.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698