https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87747
--- Comment #5 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- Author: rearnsha Date: Tue Oct 30 11:33:24 2018 New Revision: 265620 URL: https://gcc.gnu.org/viewcvs?rev=265620&root=gcc&view=rev Log: Don't allow the pool allocator to be configured to allocate zero-sized objects PR bootstrap/87747 would have been significantly easier to track down if the pool allocator had faulted an attempt to configure it to allocate zero-sized objects. Instead, this slipped through and we later hit memory corruption when the assumed size turned out to be different to the configured size. While, theoretically, there might be a use case for this, it seems unlikely to me that GCC would have such a use. So this patch adds a checking assert that the object size is not zero. * alloc-pool.h (base_pool_allocator <TBlockAllocator>::initialize): Assert that the allocation size is not zero. Modified: trunk/gcc/ChangeLog trunk/gcc/alloc-pool.h