diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-01-14 13:06:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-14 13:06:22 +0100 |
commit | bf0839044254482e02cc5e05b07e0b465a47e1e4 (patch) | |
tree | c6cadafc8cd5522f716ea35c17a3da52b3d85989 | |
parent | d1183b48ad4901a166dcb296170fb066c78512ef (diff) | |
parent | 8ebdb97ea7848b5baf74ee6d9842b0a2e8a0d5fc (diff) | |
download | rneovim-bf0839044254482e02cc5e05b07e0b465a47e1e4.tar.gz rneovim-bf0839044254482e02cc5e05b07e0b465a47e1e4.tar.bz2 rneovim-bf0839044254482e02cc5e05b07e0b465a47e1e4.zip |
Merge pull request #21793 from bfredl/noringbuf
fix(rbuffer): handle edge case where write_ptr has wrapped around too early
-rw-r--r-- | src/nvim/rbuffer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/rbuffer.c b/src/nvim/rbuffer.c index dde6e32306..1088dd3778 100644 --- a/src/nvim/rbuffer.c +++ b/src/nvim/rbuffer.c @@ -165,7 +165,8 @@ void rbuffer_consumed_compact(RBuffer *buf, size_t count) assert(buf->read_ptr <= buf->write_ptr); rbuffer_consumed(buf, count); if (buf->read_ptr > buf->start_ptr) { - assert((size_t)(buf->read_ptr - buf->write_ptr) == buf->size); + assert((size_t)(buf->write_ptr - buf->read_ptr) == buf->size + || buf->write_ptr == buf->start_ptr); memmove(buf->start_ptr, buf->read_ptr, buf->size); buf->read_ptr = buf->start_ptr; buf->write_ptr = buf->read_ptr + buf->size; |