From a596eb3115464725ac2e8c897554d9b5c6a707f3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Thu, 26 Mar 2009 10:41:11 +0100 Subject: [PATCH] s3-net: Fix Bug #6102. NetQueryDisplayInformation could return wrong information. Guenther (cherry picked from commit 490ed838f2626893bb623ea6ad8d79595c8c44c4) --- source/lib/netapi/user.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/lib/netapi/user.c b/source/lib/netapi/user.c index 05a051067ad..b31d8384be2 100644 --- a/source/lib/netapi/user.c +++ b/source/lib/netapi/user.c @@ -899,6 +899,9 @@ WERROR NetQueryDisplayInformation_r(struct libnetapi_ctx *ctx, NTSTATUS status; WERROR werr; + WERROR werr_tmp; + + *r->out.entries_read = 0; ZERO_STRUCT(connect_handle); ZERO_STRUCT(domain_handle); @@ -992,15 +995,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; -- 2.11.4.GIT