summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-03-26 10:11:59 +0100
committerGünther Deschner <gd@samba.org>2009-03-26 10:29:57 +0100
commit24d5229a81e1067662930d42f8c59b3a0adac1e0 (patch)
tree93721b88936f81f50582cea860a76e9672afb1f5 /source3/lib
parenta20a710c944055932402ec5dfe3a36ac3d654cbf (diff)
downloadsamba-24d5229a81e1067662930d42f8c59b3a0adac1e0.tar.gz
samba-24d5229a81e1067662930d42f8c59b3a0adac1e0.tar.bz2
samba-24d5229a81e1067662930d42f8c59b3a0adac1e0.zip
s3-net: Fix Bug #6102. NetQueryDisplayInformation could return wrong information.
Guenther
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/netapi/user.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/source3/lib/netapi/user.c b/source3/lib/netapi/user.c
index e760a8b1de..1cbb883169 100644
--- a/source3/lib/netapi/user.c
+++ b/source3/lib/netapi/user.c
@@ -1497,6 +1497,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);
@@ -1540,15 +1543,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 last query */
if (NT_STATUS_IS_OK(status) ||