From 38df00529c54102340e3e1bccfae8b1b75cd694f Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Tue, 6 Sep 2022 21:20:02 +0200 Subject: [PATCH] Trim trailing whitespace --- Changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Changelog.md b/Changelog.md index edbfc98..e6ab9a2 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,13 @@ # 0.10.2 – 2022-09-06 +Fix for potential out-of-bound writes that were possible on `Heap` initialization and `Heap::extend`. See the [security advisory](https://github.com/rust-osdev/linked-list-allocator/security/advisories/GHSA-xg8p-34w2-j49j) 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::` and `3 * size_of::`. +- The `extend` method now panics when trying to extend an unitialized heap. +- Extend calls with a size smaller than `size_of::() * 2` are now buffered internally and not added to the list directly. The buffered region will be merged with future `extend` calls. +- The `size()` method now returns the _usable_ size of the heap, which might be slightly smaller than the `top() - bottom()` difference because of alignment constraints. + # 0.10.1 – 2022-07-07 - Fixed logic for freeing nodes ([#64])