From a991a6bc456c840bf7c2c292c5711c80002f5754 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 6 Nov 2009 18:20:26 -0500 Subject: Check return, zero free hostent, adhere to style --- server/resolv/async_resolv.c | 15 +++++++++------ server/resolv/async_resolv.h | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'server/resolv') diff --git a/server/resolv/async_resolv.c b/server/resolv/async_resolv.c index f567a398..f6ed2028 100644 --- a/server/resolv/async_resolv.c +++ b/server/resolv/async_resolv.c @@ -395,25 +395,28 @@ resolv_gethostbyname_done(void *arg, int status, int timeouts, struct hostent *h } int -resolv_gethostbyname_recv(TALLOC_CTX *mem_ctx, struct tevent_req *req, +resolv_gethostbyname_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, int *status, int *timeouts, struct hostent **hostent) { struct gethostbyname_state *state = tevent_req_data(req, struct gethostbyname_state); enum tevent_req_state tstate; - uint64_t err; + uint64_t err = EIO; /* Fill in even in case of error as status contains the * c-ares return code */ - if (status) + if (status) { *status = state->status; - if (timeouts) + } + if (timeouts) { *timeouts = state->timeouts; - if (hostent) + } + if (hostent) { *hostent = talloc_steal(mem_ctx, state->hostent); + } if (tevent_req_is_error(req, &tstate, &err)) { - return -1; + return err; } return EOK; diff --git a/server/resolv/async_resolv.h b/server/resolv/async_resolv.h index fcea6b85..702d4dd7 100644 --- a/server/resolv/async_resolv.h +++ b/server/resolv/async_resolv.h @@ -61,8 +61,8 @@ struct tevent_req *resolv_gethostbyname_send(TALLOC_CTX *mem_ctx, const char *name, int family); -int resolv_gethostbyname_recv(TALLOC_CTX *mem_ctx, - struct tevent_req *req, +int resolv_gethostbyname_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, int *status, int *timeouts, struct hostent **hostent); -- cgit