unix: make it safe to delete the default loop
Fixes a potential free() of non-malloc'ed memory.
This commit is contained in:
parent
248ca5d612
commit
34e95d1a4c
@ -169,7 +169,15 @@ uv_loop_t* uv_loop_new(void) {
|
||||
void uv_loop_delete(uv_loop_t* loop) {
|
||||
uv_ares_destroy(loop, loop->channel);
|
||||
ev_loop_destroy(loop->ev);
|
||||
free(loop);
|
||||
|
||||
#ifndef NDEBUG
|
||||
memset(loop, 0, sizeof *loop);
|
||||
#endif
|
||||
|
||||
if (loop == default_loop_ptr)
|
||||
default_loop_ptr = NULL;
|
||||
else
|
||||
free(loop);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user