Under certain crash conditions we dump a buffer into the log. If the buffer has null characters, we might stop parsing the log prematurely.

george moromisato 9 Mar 2018:

The problem wasn't embedded nulls but embedded /n and /r. These were interpreted as a the beginning of a line. Then the following characters were interpreted as a date, and due to the liberal acceptance rules, even garbage came out as a valid date. The date happened to be before the date cut-off, so we stopped reading line.

I fixed the code to only look for /r/n as a line terminator. But ultimately we need a few more fixes:

  • Add code to determine whether the date at the beginning of a line truly is a date in the format expected (be more strict).
  • Add code to strip out /r/n when adding to the log (replace with just a /n).