- Fix potential panic due to huge layout (#79)
- Fix
alloc_refbuild on recent nightly by using renamedNonNull::dangling(#90)
- Fix warnings about
cfg(fuzzing)(#82) - Remove stabilized miri flags and feature (#81)
- Remove potential undefined behavior in fuzz chaos harness (#80)
- Upgrade plain-HTTP links to HTTPS in Cargo.toml (#78)
-
Remove features
const_mut_refsanduse_spin_nightly.Since rust 1.61, the required const features are available in stable rust, and
lock_api>= 0.4.7 automatically uses them. To avoid a breaking change, the features are still listed in Cargo.toml, but have no effect and are marked as deprecated. This bumps the minimum supported rust version to 1.61.
- Fix memory leak of small back paddings by considering regions that would result in such small back paddings as unsuitable (#71)
- Fix build on stable by adding missing field in
HoleListinitializer (#68)- Fixes a bug introduced in
v0.10.2.
- Fixes a bug introduced in
Fix for potential out-of-bound writes that were possible on Heap initialization and Heap::extend. See the security advisory for details. The issues were fixed in the following way:
- The initialization functions now panic if the given size is not large enough to store the necessary metadata. Depending on the alignment of the heap bottom pointer, the minimum size is between
2 * size_of::<usize>and3 * size_of::<usize>. - The
extendmethod now panics when trying to extend an unitialized heap. - Extend calls with a size smaller than
size_of::<usize>() * 2are now buffered internally and not added to the list directly. The buffered region will be merged with futureextendcalls. - The
size()method now returns the usable size of the heap, which might be slightly smaller than thetop() - bottom()difference because of alignment constraints.
- Fixed logic for freeing nodes (#64)
- Changed constructor to take
*mut u8instead ofusize(#62)- NOTE: Breaking API change
- Reworked internals to pass Miri tests (#62)
- Add safe constructor and initialization for
Heap(#55) - Merge front/back padding after allocate current hole (#54)
- Update
spinning_topdependency tov0.2.3(#50)
- Add new
use_spin_nightlyfeature, which, together withconst_mut_refs, makes theemptymethod ofLockedHeapconst (#49)
- Made hole module public for external uses (#47)
- Don't require nightly for
use_spinfeature (#46)
- Do not require alloc crate (#44)
- Unstable Breakage: fix(alloc_ref): Use new nightly Allocator trait #42
- Build on stable without features #43
- Adds a new
const_mut_refscrate feature (enabled by default). - By disabling this feature, it's possible to build the crate on stable Rust.
- Adds a new
- Fix build error on latest nightly (#35)
- Update AllocRef implementation for latest API changes (#33)
- Add function to get used and free heap size (#32)
- Prevent writing to heap memory range when size too small (#31)
- Update AllocRef implementation for latest API changes (#30)
- AllocRef::alloc is now safe and allows zero-sized allocations (#28)
- This is technically a breaking change for the unstable
alloc_reffeature of this crate because it now requires a newer nightly version of Rust.
- This is technically a breaking change for the unstable
- Breaking: Make AllocRef implementation optional behind new
alloc_reffeature- To enable the
AllocRefimplementation again, enable thealloc_reffeature of this crate in your Cargo.toml
- To enable the
- Fix build on nightly 1.43.0 (05-03-2020) (#25)
- Use new spinning_top crate instead of
spin(#23)
- The
Alloctrait was renamed toAllocRef(#20)
- Align up the Hole initialization address (#18)
- Remove
allocfeature gate, which is now stable