[Bug libstdc++/94160] New: std::pmr::pool_options::max_blocks_per_chunk=1 causes pool resources to return null pointers
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 12 22:39:12 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94160
Bug ID: 94160
Summary: std::pmr::pool_options::max_blocks_per_chunk=1 causes
pool resources to return null pointers
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: libstdc++
Assignee: redi at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
This calculation in __pool_resource::_M_alloc_pools() can result in
blocks_per_chunk being set to zero, and then _Pool::allocate always returns
null:
blocks_per_chunk
= std::min(blocks_per_chunk, _M_opts.max_blocks_per_chunk);
// Allow space for bitset to track which blocks are used/unused:
blocks_per_chunk *= 1 - 1.0 / (__CHAR_BIT__ * block_size);
More information about the Gcc-bugs
mailing list