Fix arena_size computation.
Fix arena_size arena_new() computation to incorporate
runs_avail_nclasses elements for runs_avail, rather than
(runs_avail_nclasses - 1) elements. Since offsetof(arena_t, runs_avail)
is used rather than sizeof(arena_t) for the first term of the
computation, all of the runs_avail elements must be added into the
second term.
This bug was introduced (by Jason Evans) while merging pull request #330
as 3417a304cc
(Separate arena_avail
trees).
This commit is contained in:
parent
cd86c1481a
commit
3812729167
@ -3271,7 +3271,7 @@ arena_new(unsigned ind)
|
|||||||
|
|
||||||
/* Compute arena size to incorporate sufficient runs_avail elements. */
|
/* Compute arena size to incorporate sufficient runs_avail elements. */
|
||||||
arena_size = offsetof(arena_t, runs_avail) + (sizeof(arena_run_tree_t) *
|
arena_size = offsetof(arena_t, runs_avail) + (sizeof(arena_run_tree_t) *
|
||||||
(runs_avail_nclasses - 1));
|
runs_avail_nclasses);
|
||||||
/*
|
/*
|
||||||
* Allocate arena, arena->lstats, and arena->hstats contiguously, mainly
|
* Allocate arena, arena->lstats, and arena->hstats contiguously, mainly
|
||||||
* because there is no way to clean up if base_alloc() OOMs.
|
* because there is no way to clean up if base_alloc() OOMs.
|
||||||
|
Loading…
Reference in New Issue
Block a user