| 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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 187   ASSERT_FALSE(ExploitabilityLinuxTest::DisassembleBytes("", NULL, 5, NULL)); | 187   ASSERT_FALSE(ExploitabilityLinuxTest::DisassembleBytes("", NULL, 5, NULL)); | 
| 188   uint8_t bytes[6] = {0xc7, 0x0, 0x5, 0x0, 0x0, 0x0}; | 188   uint8_t bytes[6] = {0xc7, 0x0, 0x5, 0x0, 0x0, 0x0}; | 
| 189   char buffer[1024] = {0}; | 189   char buffer[1024] = {0}; | 
| 190   ASSERT_TRUE(ExploitabilityLinuxTest::DisassembleBytes("i386:x86-64", | 190   ASSERT_TRUE(ExploitabilityLinuxTest::DisassembleBytes("i386:x86-64", | 
| 191                                                         bytes, | 191                                                         bytes, | 
| 192                                                         1024, | 192                                                         1024, | 
| 193                                                         buffer)); | 193                                                         buffer)); | 
| 194   std::stringstream objdump_stream; | 194   std::stringstream objdump_stream; | 
| 195   objdump_stream.str(string(buffer)); | 195   objdump_stream.str(string(buffer)); | 
| 196   string line = ""; | 196   string line = ""; | 
| 197   while ((line.find("0:") == string::npos) && getline(objdump_stream, line)) { | 197   while ((line.find("<.data>") == string::npos) && | 
|  | 198          getline(objdump_stream, line)) { | 
| 198   } | 199   } | 
|  | 200   ASSERT_TRUE(getline(objdump_stream, line)); | 
| 199   ASSERT_EQ(line, "   0:\tc7 00 05 00 00 00    \tmov    DWORD PTR [rax],0x5"); | 201   ASSERT_EQ(line, "   0:\tc7 00 05 00 00 00    \tmov    DWORD PTR [rax],0x5"); | 
| 200 } | 202 } | 
| 201 | 203 | 
| 202 TEST(ExploitabilityLinuxUtilsTest, TokenizeObjdumpInstructionTest) { | 204 TEST(ExploitabilityLinuxUtilsTest, TokenizeObjdumpInstructionTest) { | 
| 203   ASSERT_FALSE(ExploitabilityLinuxTest::TokenizeObjdumpInstruction("", | 205   ASSERT_FALSE(ExploitabilityLinuxTest::TokenizeObjdumpInstruction("", | 
| 204                                                                    NULL, | 206                                                                    NULL, | 
| 205                                                                    NULL, | 207                                                                    NULL, | 
| 206                                                                    NULL)); | 208                                                                    NULL)); | 
| 207   string line = "0: c7 00 05 00 00 00     mov    DWORD PTR [rax],0x5"; | 209   string line = "0: c7 00 05 00 00 00     mov    DWORD PTR [rax],0x5"; | 
| 208   string operation = ""; | 210   string operation = ""; | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 251   ASSERT_FALSE(ExploitabilityLinuxTest::CalculateAddress("rdx+rax", | 253   ASSERT_FALSE(ExploitabilityLinuxTest::CalculateAddress("rdx+rax", | 
| 252                                                          context, | 254                                                          context, | 
| 253                                                          &write_address)); | 255                                                          &write_address)); | 
| 254   ASSERT_FALSE(ExploitabilityLinuxTest::CalculateAddress("0x3482+0x4D2", | 256   ASSERT_FALSE(ExploitabilityLinuxTest::CalculateAddress("0x3482+0x4D2", | 
| 255                                                          context, | 257                                                          context, | 
| 256                                                          &write_address)); | 258                                                          &write_address)); | 
| 257 } | 259 } | 
| 258 #endif  // _WIN32 | 260 #endif  // _WIN32 | 
| 259 | 261 | 
| 260 }  // namespace | 262 }  // namespace | 
| OLD | NEW | 
|---|