Existing code did not check if the requested seekback buffer is
already read entirely. In this case, nothing has to be done to guarantee
seekback.
Signed-off-by: Marton Balint <cus@passwd.hu>
int filled = s->buf_end - s->buffer;
ptrdiff_t checksum_ptr_offset = s->checksum_ptr ? s->checksum_ptr - s->buffer : -1;
+ if (buf_size <= s->buf_end - s->buf_ptr)
+ return 0;
+
buf_size += s->buf_ptr - s->buffer + max_buffer_size;
if (buf_size < filled || s->seekable || !s->read_packet)