mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-12 22:10:12 -04:00
Fix use-after-free error in EV_CLOSURE_EVENT callback
This commit is contained in:
parent
35f107de92
commit
3cc0eace2e
3
event.c
3
event.c
@ -1569,8 +1569,9 @@ event_process_active_single_queue(struct event_base *base,
|
||||
event_persist_closure(base, ev);
|
||||
break;
|
||||
case EV_CLOSURE_EVENT: {
|
||||
void (*evcb_callback)(evutil_socket_t, short, void *) = *ev->ev_callback;
|
||||
void (*evcb_callback)(evutil_socket_t, short, void *);
|
||||
EVUTIL_ASSERT(ev != NULL);
|
||||
evcb_callback = *ev->ev_callback;
|
||||
EVBASE_RELEASE_LOCK(base, th_base_lock);
|
||||
evcb_callback(ev->ev_fd, ev->ev_res, ev->ev_arg);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user