From cb9796ffc071c1aa9cd5f1b3ade983978910b29a Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 16 May 2018 12:05:40 +0200 Subject: [PATCH] ctdb: Check return values of tevent_req_set_endtime() Found by Coverity. Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu May 17 01:09:46 CEST 2018 on sn-devel-144 --- ctdb/client/client_control.c | 4 +++- ctdb/client/client_tunnel.c | 8 ++++++-- ctdb/common/sock_client.c | 4 +++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ctdb/client/client_control.c b/ctdb/client/client_control.c index 1755eccf65d3..ab0aac8baf58 100644 --- a/ctdb/client/client_control.c +++ b/ctdb/client/client_control.c @@ -112,7 +112,9 @@ struct tevent_req *ctdb_client_control_send(TALLOC_CTX *mem_ctx, } if (!tevent_timeval_is_zero(&timeout)) { - tevent_req_set_endtime(req, ev, timeout); + if (!tevent_req_set_endtime(req, ev, timeout)) { + return tevent_req_post(req, ev); + } } subreq = comm_write_send(state, ev, client->comm, buf, buflen); diff --git a/ctdb/client/client_tunnel.c b/ctdb/client/client_tunnel.c index 17b65469ae9c..0bd7a3aff8c3 100644 --- a/ctdb/client/client_tunnel.c +++ b/ctdb/client/client_tunnel.c @@ -457,7 +457,9 @@ struct tevent_req *ctdb_tunnel_request_send(TALLOC_CTX *mem_ctx, } if (!tevent_timeval_is_zero(&timeout)) { - tevent_req_set_endtime(req, ev, timeout); + if (!tevent_req_set_endtime(req, ev, timeout)) { + return tevent_req_post(req, ev); + } } subreq = comm_write_send(state, ev, tctx->client->comm, @@ -619,7 +621,9 @@ struct tevent_req *ctdb_tunnel_reply_send(TALLOC_CTX *mem_ctx, } if (!tevent_timeval_is_zero(&timeout)) { - tevent_req_set_endtime(req, ev, timeout); + if (!tevent_req_set_endtime(req, ev, timeout)) { + return tevent_req_post(req, ev); + } } subreq = comm_write_send(state, ev, tctx->client->comm, pkt, pkt_len); diff --git a/ctdb/common/sock_client.c b/ctdb/common/sock_client.c index ced705042a40..75f471fc5de7 100644 --- a/ctdb/common/sock_client.c +++ b/ctdb/common/sock_client.c @@ -247,7 +247,9 @@ struct tevent_req *sock_client_msg_send(TALLOC_CTX *mem_ctx, tevent_req_set_callback(subreq, sock_client_msg_done, req); if (! timeval_is_zero(&timeout)) { - tevent_req_set_endtime(req, ev, timeout); + if (!tevent_req_set_endtime(req, ev, timeout)) { + return tevent_req_post(req, ev); + } } return req; -- 2.34.1