Repository navigation
v0.16.0
This release focused on reviewing, documenting, and refactoring code to proactively reduce false-positive security bug reports we are likely to receive in the future. There is more potential for reviewing and refactoring, but we wanted to release worthwhile improvements now.
The most notable changes are:
- The
NewStorableSlab()function has one more parameterstorableSizethat is used by other code in this release.. - The
NewStorableSlabfunction enforces a limit of ~4.2 GB for a single StorableSlab (for perspective, the largest is 7.3 MB on mainnet and regular slabs have a median size of than 1 KB). See details.
We thank @fxamacker for all her great efforts! 🙇
What's Changed
- Remove unused function in storage.go by @fxamacker in #646
- Refactor and fix several issues by @fxamacker in #647
- Add slab size overflow guard during decoding by @fxamacker in #648
- Add more defensive checks when decoding data by @fxamacker in #649
- Document code that is underflow/overflow safe by @fxamacker in #650
- Add maxThreshold to enforce size invariants by @fxamacker in #651
- Document encoding code that is truncation safe to prevent security bug reports by @fxamacker in #652
- Document more code that is underflow/overflow safe to prevent false-positive security reports by @fxamacker in #653
- Limit storable size in NewStorableSlab() by @fxamacker in #654
Full Changelog: v0.15.0...v0.16.0