disarm timer on release
This is a repeat timer, if not stopped, it will run again triggering UAF.master
parent
1e0b3880f9
commit
0be142b8c9
|
@ -40,6 +40,7 @@ static void tip_client_release(struct ev_loop *loop, struct tip_client *cli)
|
||||||
inet_ntoa(cli->addr.sin_addr), htons(cli->addr.sin_port));
|
inet_ntoa(cli->addr.sin_addr), htons(cli->addr.sin_port));
|
||||||
|
|
||||||
list_del(&cli->list);
|
list_del(&cli->list);
|
||||||
|
ev_timer_stop(loop, &cli->timer);
|
||||||
ev_io_stop(loop, &cli->io);
|
ev_io_stop(loop, &cli->io);
|
||||||
shutdown(cli->io.fd, SHUT_RDWR);
|
shutdown(cli->io.fd, SHUT_RDWR);
|
||||||
close(cli->io.fd);
|
close(cli->io.fd);
|
||||||
|
@ -196,7 +197,6 @@ shutdown:
|
||||||
if (cli->size > FILE_SIZE_THRESHOLD)
|
if (cli->size > FILE_SIZE_THRESHOLD)
|
||||||
tip_client_redirect_create(cli);
|
tip_client_redirect_create(cli);
|
||||||
close:
|
close:
|
||||||
ev_timer_stop(loop, &cli->timer);
|
|
||||||
tip_client_release(loop, cli);
|
tip_client_release(loop, cli);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +300,6 @@ static void tip_client_write_cb(struct ev_loop *loop, struct ev_io *io, int even
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
close:
|
close:
|
||||||
ev_timer_stop(loop, &cli->timer);
|
|
||||||
tip_client_release(loop, cli);
|
tip_client_release(loop, cli);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue