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.
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.