Grows a buffer if it isn't large enough
The original buffer if resized successfully, or a newly created buffer
Grows a buffer if it isn't large enough