Skip to content

Several very long overdue crash fixes

Compare
Choose a tag to compare
@VaporBot VaporBot released this 09 May 16:36
· 5 commits to main since this release
12f282b
This patch was authored and released by @gwynne.

Items of note:

  • Replaced all the assert()s, precondition()s, and fatalError()s with thrown errors as appropriate. Removes almost every source of crashes - especially ones caused by input the user has no control over - in the package.
  • Fixes #87 (unexpected packets with no active command cause an assertion failure)
  • Fixes #91 (server error before handshake throws invalidProtocolVersion() instead of the appropriate .server(ERR_Packet))
  • CI and README updates
  • Fixes the unit tests so they don't leave stale tables lying around.

With the rewrite finally back to being actively worked on, it became really obvious how easy these fixes were to make even in the existing code, and I decided users shouldn't have to wait any longer for them, even if the rewrite drops the next day.