Changes for version 0.08 - 2026-07-22
- Fix a use-after-free in set() for the Raw and Str pools: the value argument is a bare SV, so its overload or tie magic runs Perl that can destroy the pool, after which the already-captured handle was still used. Such a call now croaks.
- Reject a crafted header whose full layout overflows 64 bits. The attach-time check counted only the header, while the create paths counted header + bitmap + owners + data, so a wrapped total_size could place the slot pointers outside the mapping.
- Give Data::Pool::Shared::Guard a $VERSION so PAUSE indexes it.
- Reject alloc_n counts above 2^32.
- A guard no longer frees the parent slot from a forked child.
Modules
Fixed-size shared-memory object pool for Linux
Provides
in lib/Data/Pool/Shared.pm