Tries to create a newly allocated buffer with data of the given size and
extra parameters from allocator. If the requested amount of memory can't be
allocated, NULL will be returned. The allocated buffer memory is not cleared.
When allocator is NULL, the default memory allocator will be used.
Note that when size == 0, the buffer will not have memory associated with it.
MT safe.
Tries to create a newly allocated buffer with data of the given size and extra parameters from allocator. If the requested amount of memory can't be allocated, NULL will be returned. The allocated buffer memory is not cleared. When allocator is NULL, the default memory allocator will be used. Note that when size == 0, the buffer will not have memory associated with it. MT safe.