Simplest reproducible code is:
which gives a segfault.
You can easily run into this interactively when eg by accident passing a already-read buffer to it, like:
And for example, if you compare to read_schema, this gives an error on the second time / empty buffer:
I know this is not proper usage of Buffer(Reader), but since it is easy to accidentally do this, we should try to protect users from this I think.