summaryrefslogtreecommitdiff
path: root/bufferevent_filter.c
diff options
context:
space:
mode:
authorJoachim Bauch <jojo@struktur.de>2009-12-18 16:24:41 -0500
committerNick Mathewson <nickm@torproject.org>2009-12-18 16:26:40 -0500
commita773df54cef1707984fe2c8b4b5866b35ae0c66d (patch)
tree4cc0f85aaa1a77b1edb7bb1ee61aaed7c04c8133 /bufferevent_filter.c
parenta6adeca72ccf1202c013001136d6e3ee3ddc0764 (diff)
downloadlibevent-a773df54cef1707984fe2c8b4b5866b35ae0c66d.tar.gz
Fix a segfault when freeing SSL bufferevents in an unusual order
Have container bufferevents hold a reference to their underlying bufferevents. (Commit message and minor revisions by nickm.)
Diffstat (limited to 'bufferevent_filter.c')
-rw-r--r--bufferevent_filter.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bufferevent_filter.c b/bufferevent_filter.c
index 7002b05e..dedca445 100644
--- a/bufferevent_filter.c
+++ b/bufferevent_filter.c
@@ -200,6 +200,7 @@ bufferevent_filter_new(struct bufferevent *underlying,
bufferevent_filtered_outbuf_cb, bufev_f);
_bufferevent_init_generic_timeout_cbs(downcast(bufev_f));
+ bufferevent_incref(underlying);
return downcast(bufev_f);
}