Resizing to zero extents sounds entirely satisfactory and reasonable.
After all, this is /also/ the only interface available to allocate the memory in the first place.
If you prefer, you could make a free function to do the jobs hiding the implementation detail.