Azat Khuzhin 5b19c9f62b
buffer: do not rely on ->off in advance_last_with_data()
advance_last_with_data() adjusts evbuffer.last_with_datap, and if we
will have empty chain in the middle advance_last_with_data() will stop,
while it should not, since while empty chains is not regular thing they
can pops up in various places like, and while I did not look through all
of them the most tricky I would say is:
  evbuffer_reverse_space()/evbuffer_commit_space()
  evbuffer_add_reference()

Test case from:
  https://github.com/envoyproxy/envoy/pull/6062

Fixes: #778

v2: keep last_with_datap really last with data, i.e. update only if
chain has data in it
2019-03-03 18:55:25 +03:00
..
2017-07-16 21:35:05 +03:00
2018-12-08 17:35:53 +03:00
2018-11-20 22:56:28 +03:00
2018-11-20 22:56:28 +03:00