stream: do not leak `alloc_cb` buffers on error

Always pass previously allocated (if any) buffer, when calling
`read_cb()` on error.