Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 36 million developers.Sign up
`RewindState` has a `RewindResult` which it checks when it is going to truncat the rewind buffer (after a successful rewind.) If the `RewindResult`'s info pointer is not set, `rewind_truncate_to` assumes that the rewind was not successful, so it doesn't truncate. The bug was that a local `RewindResult` was used instead of the one in `RewindState`, so the info pointer was never set, so the rewind buffer was never truncated. After a rewind, `rewind_append` would append states that were out of order. This would break the binary search of the rewind info. To find the bug, I ended up adding a sanity check function for the rewind buffer. So I decided to keep it.