The branch, master has been updated
       via  343e932... s4:subtree_rename LDB module - Cosmetic fixes
       via  7d483cd... s4:subtree_delete LDB module - fix comments and add my 
copyright
       via  83dedef... s4:wb_cmd_list_groups.c - don't crash when we don't get 
any group at all
       via  680453a... s4:wb_cmd_list_groups.c - indentation and comment fixes
       via  b0bba40... s4:libnet - add missing "talloc_free"s for "c" contexts 
on "recv" operations
      from  05237dc... s3: Remove an unused variable -- thanks, metze!

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 343e9320ba4446635a50a0fa3849888f3b265e23
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Sun Jul 4 10:41:17 2010 +0200

    s4:subtree_rename LDB module - Cosmetic fixes

commit 7d483cdc04d0e58ea171d5d94f53013fb2c2cc0e
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Sun Jul 4 10:23:41 2010 +0200

    s4:subtree_delete LDB module - fix comments and add my copyright
    
    (I've introduced the subtree delete mechanism)

commit 83dedef2c7b3c471d37f532f56d8eb0d45c20e51
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Sun Jul 4 21:22:28 2010 +0200

    s4:wb_cmd_list_groups.c - don't crash when we don't get any group at all

commit 680453a9069fc5f7c84344d702fbd9ac5819401a
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Sun Jul 4 21:19:36 2010 +0200

    s4:wb_cmd_list_groups.c - indentation and comment fixes

commit b0bba4003e928cdf0540047d6e4b7659cb0ac765
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Sun Jul 4 20:04:28 2010 +0200

    s4:libnet - add missing "talloc_free"s for "c" contexts on "recv" operations

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

Summary of changes:
 source4/dsdb/samdb/ldb_modules/subtree_delete.c |    5 ++-
 source4/dsdb/samdb/ldb_modules/subtree_rename.c |    7 +++--
 source4/libnet/libnet_group.c                   |    3 +-
 source4/libnet/libnet_lookup.c                  |    4 +--
 source4/libnet/libnet_user.c                    |    6 ++++-
 source4/winbind/wb_cmd_list_groups.c            |   26 +++++++++++++---------
 6 files changed, 30 insertions(+), 21 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/subtree_delete.c 
b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
index 4782702..b677c29 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_delete.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
@@ -5,6 +5,7 @@
    Copyright (C) Andrew Tridgell <[email protected]> 2009
    Copyright (C) Stefan Metzmacher <[email protected]> 2007
    Copyright (C) Simo Sorce <[email protected]> 2008
+   Copyright (C) Matthias Dieter Wallnöfer 2010
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,9 +24,9 @@
 /*
  *  Name: ldb
  *
- *  Component: ldb subtree delete (prevention) module
+ *  Component: ldb subtree delete module
  *
- *  Description: Prevent deletion of a subtree in LDB
+ *  Description: Delete of a subtree in LDB
  *
  *  Author: Andrew Bartlett
  */
diff --git a/source4/dsdb/samdb/ldb_modules/subtree_rename.c 
b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
index 350496a..ed2b024 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_rename.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
@@ -223,6 +223,7 @@ static int subtree_rename(struct ldb_module *module, struct 
ldb_request *req)
        struct ldb_request *search_req;
        struct subtree_rename_context *ac;
        int ret;
+
        if (ldb_dn_is_special(req->op.rename.olddn)) { /* do not manipulate our 
control entries */
                return ldb_next_request(module, req);
        }
@@ -233,9 +234,9 @@ static int subtree_rename(struct ldb_module *module, struct 
ldb_request *req)
           - Do a search for all entires under this entry 
           - Wait for these results to appear
           - In the callback for each result, issue a modify request
-           - That will include this rename, we hope
+          - That will include this rename, we hope
           - Wait for each modify result
-          - Regain our sainity 
+          - Regain our sanity
        */
 
        ac = subren_ctx_init(module, req);
@@ -270,5 +271,5 @@ static int subtree_rename(struct ldb_module *module, struct 
ldb_request *req)
 
 _PUBLIC_ const struct ldb_module_ops ldb_subtree_rename_module_ops = {
        .name              = "subtree_rename",
-       .rename            = subtree_rename,
+       .rename            = subtree_rename
 };
diff --git a/source4/libnet/libnet_group.c b/source4/libnet/libnet_group.c
index f098667..8c88aa3 100644
--- a/source4/libnet/libnet_group.c
+++ b/source4/libnet/libnet_group.c
@@ -147,6 +147,7 @@ NTSTATUS libnet_CreateGroup_recv(struct composite_context 
*c,
                r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
@@ -408,7 +409,6 @@ NTSTATUS libnet_GroupInfo_recv(struct composite_context* c, 
TALLOC_CTX *mem_ctx,
        }
 
        talloc_free(c);
-
        return status;
 }
 
@@ -731,6 +731,7 @@ NTSTATUS libnet_GroupList_recv(struct composite_context *c, 
TALLOC_CTX *mem_ctx,
                io->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", 
nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
diff --git a/source4/libnet/libnet_lookup.c b/source4/libnet/libnet_lookup.c
index 21851d5..177292c 100644
--- a/source4/libnet/libnet_lookup.c
+++ b/source4/libnet/libnet_lookup.c
@@ -217,9 +217,7 @@ NTSTATUS libnet_LookupDCs_recv(struct composite_context *c, 
TALLOC_CTX *mem_ctx,
 {
        NTSTATUS status;
        status = finddcs_recv(c, mem_ctx, &io->out.num_dcs, &io->out.dcs);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
+       /* "c" already freed here */
        return status;
 }
 
diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c
index f05d2bd..0055639 100644
--- a/source4/libnet/libnet_user.c
+++ b/source4/libnet/libnet_user.c
@@ -178,6 +178,7 @@ NTSTATUS libnet_CreateUser_recv(struct composite_context 
*c, TALLOC_CTX *mem_ctx
                r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
@@ -346,6 +347,7 @@ NTSTATUS libnet_DeleteUser_recv(struct composite_context 
*c, TALLOC_CTX *mem_ctx
                r->out.error_string = talloc_steal(mem_ctx, 
s->r.out.error_string);
        }
        
+       talloc_free(c);
        return status;
 }
 
@@ -572,6 +574,8 @@ NTSTATUS libnet_ModifyUser_recv(struct composite_context 
*c, TALLOC_CTX *mem_ctx
                                struct libnet_ModifyUser *r)
 {
        NTSTATUS status = composite_wait(c);
+
+       talloc_free(c);
        return status;
 }
 
@@ -868,7 +872,6 @@ NTSTATUS libnet_UserInfo_recv(struct composite_context *c, 
TALLOC_CTX *mem_ctx,
        }
 
        talloc_free(c);
-       
        return status;
 }
 
@@ -1195,6 +1198,7 @@ NTSTATUS libnet_UserList_recv(struct composite_context* 
c, TALLOC_CTX *mem_ctx,
                r->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", 
nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
diff --git a/source4/winbind/wb_cmd_list_groups.c 
b/source4/winbind/wb_cmd_list_groups.c
index 746ce8f..16059ea 100644
--- a/source4/winbind/wb_cmd_list_groups.c
+++ b/source4/winbind/wb_cmd_list_groups.c
@@ -91,13 +91,14 @@ static void cmd_list_groups_recv_domain(struct 
composite_context *ctx)
        state->ctx->status = wb_sid2domain_recv(ctx, &domain);
        if (!composite_is_ok(state->ctx)) return;
 
+       /* we use this entry also for context purposes (libnet_GroupList) */
        state->domain = domain;
 
        /* If this is non-null, we've looked up the domain given in the winbind
-        * request, otherwise we'll just use the default name.*/
+        * request, otherwise we'll just use the default name .*/
        if (state->domain_name == NULL) {
                state->domain_name = talloc_strdup(state,
-                               domain->libnet_ctx->samr.name);
+                                                  
state->domain->libnet_ctx->samr.name);
                if (composite_nomem(state->domain_name, state->ctx)) return;
        }
 
@@ -112,10 +113,11 @@ static void cmd_list_groups_recv_domain(struct 
composite_context *ctx)
        group_list->in.page_size = 128;
        group_list->in.resume_index = state->resume_index;
 
-       ctx = libnet_GroupList_send(domain->libnet_ctx, state, group_list,NULL);
+       ctx = libnet_GroupList_send(state->domain->libnet_ctx, state,
+                                   group_list, NULL);
 
        composite_continue(state->ctx, ctx, cmd_list_groups_recv_group_list,
-                       state);
+                          state);
 }
 
 static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
@@ -135,7 +137,7 @@ static void cmd_list_groups_recv_group_list(struct 
composite_context *ctx)
 
        /* If NTSTATUS is neither OK nor MORE_ENTRIES, something broke */
        if (!NT_STATUS_IS_OK(status) &&
-            !NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES)) {
+           !NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES)) {
                composite_error(state->ctx, status);
                return;
        }
@@ -144,17 +146,19 @@ static void cmd_list_groups_recv_group_list(struct 
composite_context *ctx)
                DEBUG(5, ("Appending group '%s'\n",
                          group_list->out.groups[i].groupname));
                state->result = talloc_asprintf_append_buffer(state->result,
-                                       "%s,",
-                                       group_list->out.groups[i].groupname);
+                                                             "%s,",
+                                                             
group_list->out.groups[i].groupname);
                state->num_groups++;
        }
 
        /* If the status is OK, we're finished, there's no more groups.
         * So we'll trim off the trailing ',' and are done.*/
        if (NT_STATUS_IS_OK(status)) {
-               int str_len = strlen(state->result);
+               size_t str_len = strlen(state->result);
                DEBUG(5, ("list_GroupList_recv returned NT_STATUS_OK\n"));
-               state->result[str_len - 1] = '\0';
+               if (str_len > 0) {
+                       state->result[str_len - 1] = '\0';
+               }
                composite_done(state->ctx);
                return;
        }
@@ -171,10 +175,10 @@ static void cmd_list_groups_recv_group_list(struct 
composite_context *ctx)
        group_list->in.resume_index = group_list->out.resume_index;
 
        ctx = libnet_GroupList_send(state->domain->libnet_ctx, state,group_list,
-                       NULL);
+                                   NULL);
 
        composite_continue(state->ctx, ctx, cmd_list_groups_recv_group_list,
-                       state);
+                          state);
 }
 
 NTSTATUS wb_cmd_list_groups_recv(struct composite_context *ctx,


-- 
Samba Shared Repository

Reply via email to