]> granicus.if.org Git - libevent/commitdiff
Move event_debug_note_teardown_ before mm_free.
authorNick Mathewson <nickm@torproject.org>
Tue, 6 Aug 2013 23:08:42 +0000 (19:08 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 6 Aug 2013 23:10:13 +0000 (19:10 -0400)
This isn't a bug, since only the pointer value of ev was used, but
it's probably best not to tempt fate.  Found by coverity.

event.c

diff --git a/event.c b/event.c
index d3ebb14c2791de9e8c6e2bba9f0434b2adedab51..010d9132966a643e9a752535b17300c329b6b81c 100644 (file)
--- a/event.c
+++ b/event.c
@@ -1542,9 +1542,9 @@ event_process_active_single_queue(struct event_base *base,
                        EVUTIL_ASSERT((evcb->evcb_flags & EVLIST_FINALIZING));
                        EVBASE_RELEASE_LOCK(base, th_base_lock);
                        ev->ev_evcallback.evcb_cb_union.evcb_evfinalize(ev, ev->ev_arg);
+                       event_debug_note_teardown_(ev);
                        if (evcb->evcb_closure == EV_CLOSURE_EVENT_FINALIZE_FREE)
                                mm_free(ev);
-                       event_debug_note_teardown_(ev);
                        break;
                case EV_CLOSURE_CB_FINALIZE:
                        base->current_event = NULL;