[SCM] Samba Shared Repository - branch master updated

Matthias Dieter Wallnöfer mdw at samba.org
Sun Jul 4 14:15:15 MDT 2010


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 <mdw at samba.org>
Date:   Sun Jul 4 10:41:17 2010 +0200

    s4:subtree_rename LDB module - Cosmetic fixes

commit 7d483cdc04d0e58ea171d5d94f53013fb2c2cc0e
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
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 <mdw at samba.org>
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 <mdw at samba.org>
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 <mdw at samba.org>
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 <tridge at samba.org> 2009
    Copyright (C) Stefan Metzmacher <metze at samba.org> 2007
    Copyright (C) Simo Sorce <idra at samba.org> 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


More information about the samba-cvs mailing list