within ensure(read size) method, it allocates an extra buffer to contain the entire string data.