summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-04-29 20:11:02 +0200
committerKarolin Seeger <kseeger@samba.org>2008-05-21 13:26:19 +0200
commit92fff78fcceb8ea9c2d14f13df19cdeda3a91cf5 (patch)
treefc2d82605524a25876ab31fc9c5e8695a1de4e9a
parentb6be3a4426dca340459ed60ea328d7855fd3f5d4 (diff)
downloadsamba-92fff78fcceb8ea9c2d14f13df19cdeda3a91cf5.tar.gz
samba-92fff78fcceb8ea9c2d14f13df19cdeda3a91cf5.tar.xz
samba-92fff78fcceb8ea9c2d14f13df19cdeda3a91cf5.zip
netapi: fix returned name buffer in NetGetJoinInformation_r().
Guenther (cherry picked from commit 0e8e05d556a7f84e500cca3fa858f9b4a9522a5f)
-rw-r--r--source/lib/netapi/joindomain.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/lib/netapi/joindomain.c b/source/lib/netapi/joindomain.c
index 8e0a62e820b..74ed8f2302f 100644
--- a/source/lib/netapi/joindomain.c
+++ b/source/lib/netapi/joindomain.c
@@ -282,6 +282,7 @@ WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx,
struct rpc_pipe_client *pipe_cli = NULL;
NTSTATUS status;
WERROR werr;
+ const char *buffer = NULL;
werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
if (!W_ERROR_IS_OK(werr)) {
@@ -295,7 +296,7 @@ WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx,
status = rpccli_wkssvc_NetrGetJoinInformation(pipe_cli, ctx,
r->in.server_name,
- r->out.name_buffer,
+ &buffer,
(enum wkssvc_NetJoinStatus *)r->out.name_type,
&werr);
if (!NT_STATUS_IS_OK(status)) {
@@ -303,6 +304,9 @@ WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx,
goto done;
}
+ *r->out.name_buffer = talloc_strdup(ctx, buffer);
+ W_ERROR_HAVE_NO_MEMORY(*r->out.name_buffer);
+
done:
return werr;
}