diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-11-09 01:11:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:25:25 -0500 |
commit | fe2a5a8abf3e1fb916e49700c5293eb91f9524ed (patch) | |
tree | 5ac5d0e9a2936a3393af5e8bba0d370acf26fc90 /source4/libcli/resolve/host.c | |
parent | ed77e4e57beee0c9c8b0c4c75626c41ebfc5b0c4 (diff) | |
download | samba-fe2a5a8abf3e1fb916e49700c5293eb91f9524ed.tar.gz samba-fe2a5a8abf3e1fb916e49700c5293eb91f9524ed.tar.bz2 samba-fe2a5a8abf3e1fb916e49700c5293eb91f9524ed.zip |
r19645: don't pass NULL as mem_ctx...
metze
(This used to be commit 643a38bc30a0df1582035b8d264e0dbbc2d2e152)
Diffstat (limited to 'source4/libcli/resolve/host.c')
-rw-r--r-- | source4/libcli/resolve/host.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source4/libcli/resolve/host.c b/source4/libcli/resolve/host.c index 5f99a85268..f84a7dc808 100644 --- a/source4/libcli/resolve/host.c +++ b/source4/libcli/resolve/host.c @@ -77,6 +77,7 @@ static void run_child(struct composite_context *c, int fd) if (address != NULL) { write(fd, address, strlen(address)+1); } + close(fd); } /* @@ -121,15 +122,16 @@ static void pipe_handler(struct event_context *ev, struct fd_event *fde, /* gethostbyname name resolution method - async send */ -struct composite_context *resolve_name_host_send(struct nbt_name *name, - struct event_context *event_ctx) +struct composite_context *resolve_name_host_send(TALLOC_CTX *mem_ctx, + struct event_context *event_ctx, + struct nbt_name *name) { struct composite_context *c; struct host_state *state; int fd[2] = { -1, -1 }; int ret; - c = composite_create(event_ctx, event_ctx); + c = composite_create(mem_ctx, event_ctx); if (c == NULL) return NULL; c->event_ctx = talloc_reference(c, event_ctx); @@ -172,6 +174,7 @@ struct composite_context *resolve_name_host_send(struct nbt_name *name, return c; } + if (state->child == 0) { close(fd[0]); run_child(c, fd[1]); @@ -189,7 +192,7 @@ struct composite_context *resolve_name_host_send(struct nbt_name *name, gethostbyname name resolution method - recv side */ NTSTATUS resolve_name_host_recv(struct composite_context *c, - TALLOC_CTX *mem_ctx, const char **reply_addr) + TALLOC_CTX *mem_ctx, const char **reply_addr) { NTSTATUS status; @@ -211,7 +214,7 @@ NTSTATUS resolve_name_host(struct nbt_name *name, TALLOC_CTX *mem_ctx, const char **reply_addr) { - struct composite_context *c = resolve_name_host_send(name, NULL); + struct composite_context *c = resolve_name_host_send(mem_ctx, NULL, name); return resolve_name_host_recv(c, mem_ctx, reply_addr); } |