The branch, v3-3-test has been updated
       via  fe102f53d1ac6f888bd559eaf52b6a166d5f78d3 (commit)
      from  57301725e1c92676d3dbb62c81a41507ed1adb7b (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit fe102f53d1ac6f888bd559eaf52b6a166d5f78d3
Author: Günther Deschner <[email protected]>
Date:   Thu Mar 26 10:35:55 2009 +0100

    s3-net: Fix Bug #6102. NetQueryDisplayInformation could return wrong 
information.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/lib/netapi/user.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/user.c b/source/lib/netapi/user.c
index 84d32dc..2c78f6f 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;


-- 
Samba Shared Repository

Reply via email to