]> granicus.if.org Git - libevent/commit
regress_ssl: fix ssl/bufferevent_wm_filter for non defered callbacks
authorAzat Khuzhin <a3at.mail@gmail.com>
Wed, 7 Nov 2018 21:36:07 +0000 (00:36 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Wed, 7 Nov 2018 21:46:13 +0000 (00:46 +0300)
commit1fc1c7ef1dabbbb358b99b893712bccc5761f82d
tree770e98c77ae1a80520e4d6b1a5823b0c0c07d945
parent9afe7a6c12c112a6cbc49cf1bd684781275b2579
regress_ssl: fix ssl/bufferevent_wm_filter for non defered callbacks

Even after referenced patch there is still possible recursive callbacks
from evbuffer_drain(bev_input), i.e.:
  wm_transfer() -> evbuffer_drain() -> wm_transfer()
                   inc(ctx->get)

But if we will increment ctx->get before drain that we will not add more
data to buffer.

Refs: 54c6fe3c ("regress_ssl: make ssl/bufferevent_wm_filter more fault-tolerance")
CI: https://ci.appveyor.com/project/nmathewson/libevent/build/job/f0rv299i71wnuxdq#L2546
test/regress_ssl.c