FreeTree posible memory corruption ?
ag0aep6g via Digitalmars-d
digitalmars-d at puremagic.com
Wed Sep 28 12:55:35 PDT 2016
On Wednesday, 28 September 2016 at 19:39:14 UTC, Temtaime wrote:
> Look here :
> https://github.com/Hackerpilot/experimental_allocator/blob/master/src/std/experimental/allocator/building_blocks/free_tree.d#L297
That's not phobos's source. You can find it at
<https://github.com/dlang/phobos>.
> It tries to find a block inside the tree. If it fails, it
> allocates n bytes passed to the function.
>
> Look a little down and you see a deallocate method.
> It casts previousli allocated block to internal Node struct and
> then tries to set some fields in it.
>
> Suppose we called allocate(1) and it'll call parent allocator
> with size 1. So size of returned block will be 1. Then we
> deallocate such a block, and FreeTree corrupts memory.
>
> Am-I wrong and missed something ?
I've recently fixed two issues in FreeTree's code. I think the
one you've spotted was one of them. See
<https://github.com/dlang/phobos/pull/4798>.
More information about the Digitalmars-d
mailing list