]> granicus.if.org Git - libevent/commitdiff
Possible crash fix when freeing an underlying bufferevent of an openssl bufferevent
authorNick Mathewson <nickm@torproject.org>
Tue, 30 Nov 2010 03:14:54 +0000 (22:14 -0500)
committerNick Mathewson <nickm@torproject.org>
Tue, 30 Nov 2010 03:14:54 +0000 (22:14 -0500)
bufferevent_openssl.c

index 04dc31e2d25a0e1e393458d0b6107148fc65a3b4..3d9a77012f0e396314500a645d9b3f89aaefa610 100644 (file)
@@ -525,10 +525,10 @@ conn_closed(struct bufferevent_openssl *bev_ssl, int errcode, int ret)
        if (dirty_shutdown && bev_ssl->allow_dirty_shutdown)
                event = BEV_EVENT_EOF;
 
-       _bufferevent_run_eventcb(&bev_ssl->bev.bev, event);
-
        stop_reading(bev_ssl);
        stop_writing(bev_ssl);
+
+       _bufferevent_run_eventcb(&bev_ssl->bev.bev, event);
 }
 
 static void