[Tim] > It would be possible to store both the arena index *and* the arena base > address in each pool header. Then we could check that > > poolheader* p = pool_address(some_memory_address); > if (p->arenaindex < narenas && > arenas[p->arenaindex] == p->arenabase) { > it's a pymalloc address > } > else { > it isn't > } > > I like that. No I don't: I hate that. It can be tricked.