allocaArray +base

allocaArray :: Storable a => Int -> (Ptr a -> IO b) -> IO b
base Foreign.Marshal.Array
Temporarily allocate space for the given number of elements (like Foreign.Marshal.Alloc.alloca, but for multiple elements).
allocaArray0 :: Storable a => Int -> (Ptr a -> IO b) -> IO b
base Foreign.Marshal.Array
Like allocaArray, but add an extra position to hold a special termination element.