six-leo / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

ExploitabilityLinuxUtilsTest.DisassembleBytesTest can fail if you get unlucky and the temp filename ends with 0 #668

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
[ RUN      ] ExploitabilityLinuxUtilsTest.DisassembleBytesTest
2015-09-15 08:38:53: exploitability_linux.cc:470: ERROR: Bad input parameters.
/build/breakpad/src/src/processor/exploitability_unittest.cc:199: Failure
Value of: "   0:\tc7 00 05 00 00 00    \tmov    DWORD PTR [rax],0x5"
  Actual: "   0:        c7 00 05 00 00 00       mov    DWORD PTR [rax],0x5"
Expected: line
Which is: "/tmp/breakpad_mem_region-raw_bytes-8ttRW0:     file format binary"
[  FAILED  ] ExploitabilityLinuxUtilsTest.DisassembleBytesTest (4 ms)

The test is trying to skip the header lines of objdump output by looking for 
"0:" to indicate the start of disassembly:
while ((line.find("0:") == string::npos) && getline(objdump_stream, line)) {

...but if your temp filename ends with 0 that loop exits too early and the test 
fails.

Original issue reported on code.google.com by tmielcza...@mozilla.com on 15 Sep 2015 at 12:45