Skip to content

Releases: binji/binjgb

v0.1.1: Fix rewind buffer corruption bug

15 Oct 09:50
Compare
Choose a tag to compare
`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.

v0.1.0

20 Mar 08:17
Compare
Choose a tag to compare

binjgb release