Thanks for the feedback. I'll have a look through the code to see if we're trying to malloc on power of 2 sizes anywhere. I presume that if we're not already being careful with this, then we're probably already hitting this issue with our normal mallocs() and the added size_t bytes to each allocation will only have a small chance (by itself) of causing this issue. Although STL vectors (and friends) could be taking allocating on power of 2 sizes with their under-the-hood memory allocations... profiling in valgrind would probably be a better way to investigate this.
In addition, I'll change the stored malloc() size to include the allocation overhead.