summaryrefslogtreecommitdiffstats
path: root/source/lib/netapi
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-03-26 10:35:55 +0100
committerKarolin Seeger <kseeger@samba.org>2009-03-27 14:15:54 +0100
commite26d948fa6efd43cd734494744ee4cd5b7833fea (patch)
treeb4673e5a8870b1eda70f84caf790b011d317bd30 /source/lib/netapi
parentff258d7afb5feaf60e537ec647a1835f18bb8a1f (diff)
downloadsamba-e26d948fa6efd43cd734494744ee4cd5b7833fea.tar.gz
samba-e26d948fa6efd43cd734494744ee4cd5b7833fea.tar.xz
samba-e26d948fa6efd43cd734494744ee4cd5b7833fea.zip
s3-net: Fix Bug #6102. NetQueryDisplayInformation could return wrong information.
Guenther (cherry picked from commit fe102f53d1ac6f888bd559eaf52b6a166d5f78d3)
Diffstat (limited to 'source/lib/netapi')
-rw-r--r--source/lib/netapi/user.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/source/lib/netapi/user.c b/source/lib/netapi/user.c
index 84d32dc1d55..2c78f6f8ada 100644
--- a/source/lib/netapi/user.c
+++ b/source/lib/netapi/user.c
@@ -1510,6 +1510,9 @@ WERROR NetQueryDisplayInformation_r(struct libnetapi_ctx *ctx,
NTSTATUS status = NT_STATUS_OK;
WERROR werr;
+ WERROR werr_tmp;
+
+ *r->out.entries_read = 0;
ZERO_STRUCT(connect_handle);
ZERO_STRUCT(domain_handle);
@@ -1554,15 +1557,18 @@ WERROR NetQueryDisplayInformation_r(struct libnetapi_ctx *ctx,
&total_size,
&returned_size,
&info);
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = ntstatus_to_werror(status);
+ if (NT_STATUS_IS_ERR(status)) {
goto done;
}
- werr = convert_samr_dispinfo_to_NET_DISPLAY(ctx, &info,
- r->in.level,
- r->out.entries_read,
- r->out.buffer);
+ werr_tmp = convert_samr_dispinfo_to_NET_DISPLAY(ctx, &info,
+ r->in.level,
+ r->out.entries_read,
+ r->out.buffer);
+ if (!W_ERROR_IS_OK(werr_tmp)) {
+ werr = werr_tmp;
+ }
done:
if (!cli) {
return werr;