summaryrefslogtreecommitdiffstats
path: root/server/resolv
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-11-06 18:20:26 -0500
committerStephen Gallagher <sgallagh@redhat.com>2009-11-09 10:53:49 -0500
commita991a6bc456c840bf7c2c292c5711c80002f5754 (patch)
tree8543011fa1d796829e13770d0174174f5aaffbc3 /server/resolv
parenta69766ff324dcd2c3543c6969e3f77c38c4dc629 (diff)
downloadsssd-a991a6bc456c840bf7c2c292c5711c80002f5754.tar.gz
sssd-a991a6bc456c840bf7c2c292c5711c80002f5754.tar.xz
sssd-a991a6bc456c840bf7c2c292c5711c80002f5754.zip
Check return, zero free hostent, adhere to style
Diffstat (limited to 'server/resolv')
-rw-r--r--server/resolv/async_resolv.c15
-rw-r--r--server/resolv/async_resolv.h4
2 files changed, 11 insertions, 8 deletions
diff --git a/server/resolv/async_resolv.c b/server/resolv/async_resolv.c
index f567a3983..f6ed20281 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 fcea6b85b..702d4dd7b 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);