svn commit: samba r20206 - in branches: SAMBA_3_0/source/nsswitch
SAMBA_3_0_24/source/nsswitch
jra at samba.org
jra at samba.org
Sat Dec 16 01:32:59 GMT 2006
Author: jra
Date: 2006-12-16 01:32:57 +0000 (Sat, 16 Dec 2006)
New Revision: 20206
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20206
Log:
Start cleaning up the talloc_ctx mess.
child->mem_ctx isn't actually used for
anything, so remove it.
Jeremy.
Modified:
branches/SAMBA_3_0/source/nsswitch/winbindd.h
branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c
branches/SAMBA_3_0_24/source/nsswitch/winbindd.h
branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c
branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c
branches/SAMBA_3_0_24/source/nsswitch/winbindd_dual.c
Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.h
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd.h 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd.h 2006-12-16 01:32:57 UTC (rev 20206)
@@ -141,7 +141,6 @@
struct winbindd_domain *domain;
pstring logfilename;
- TALLOC_CTX *mem_ctx;
struct fd_event event;
struct timed_event *lockout_policy_event;
struct winbindd_async_request *requests;
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -996,6 +996,9 @@
if (result != NULL) {
state->response.extra_data.data = SMB_STRDUP(result);
+ if (!state->response.extra_data.data) {
+ return WINBINDD_ERROR;
+ }
state->response.length += len+1;
}
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -520,6 +520,7 @@
result = cm_connect_netlogon(our_domain, &netlogon_pipe);
if (!NT_STATUS_IS_OK(result)) {
+ talloc_destroy(mem_ctx);
return False;
}
@@ -1264,10 +1265,12 @@
if (!add_sockaddr_to_array(mem_ctx, domain->dcaddr.sin_addr, 445, &addrs, &num_addrs)) {
set_domain_offline(domain);
+ talloc_destroy(mem_ctx);
return NT_STATUS_NO_MEMORY;
}
if (!add_sockaddr_to_array(mem_ctx, domain->dcaddr.sin_addr, 139, &addrs, &num_addrs)) {
set_domain_offline(domain);
+ talloc_destroy(mem_ctx);
return NT_STATUS_NO_MEMORY;
}
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -238,7 +238,6 @@
sizeof(*request->request),
async_main_request_sent, request);
- talloc_destroy(child->mem_ctx);
return;
}
@@ -599,7 +598,7 @@
{
struct winbindd_child *child =
(struct winbindd_child *)private_data;
-
+ TALLOC_CTX *mem_ctx = NULL;
struct winbindd_methods *methods;
SAM_UNK_INFO_12 lockout_policy;
NTSTATUS result;
@@ -612,13 +611,21 @@
methods = child->domain->methods;
- result = methods->lockout_policy(child->domain, child->mem_ctx, &lockout_policy);
+ mem_ctx = talloc_init("account_lockout_policy_handler ctx");
+ if (!mem_ctx) {
+ result = NT_STATUS_NO_MEMORY;
+ } else {
+ result = methods->lockout_policy(child->domain, mem_ctx, &lockout_policy);
+ }
+
+ talloc_destroy(mem_ctx);
+
if (!NT_STATUS_IS_OK(result)) {
- DEBUG(10,("account_lockout_policy_handler: failed to call lockout_policy\n"));
- return;
+ DEBUG(10,("account_lockout_policy_handler: lockout_policy failed error %s\n",
+ nt_errstr(result)));
}
- child->lockout_policy_event = add_timed_event(child->mem_ctx,
+ child->lockout_policy_event = add_timed_event(NULL,
timeval_current_ofs(3600, 0),
"account_lockout_policy_handler",
account_lockout_policy_handler,
@@ -828,15 +835,10 @@
/* The child is ok with online/offline messages now. */
message_unblock();
- child->mem_ctx = talloc_init("child_mem_ctx");
- if (child->mem_ctx == NULL) {
- return False;
- }
-
if (child->domain != NULL && lp_winbind_offline_logon()) {
/* We might be in the idmap child...*/
child->lockout_policy_event = add_timed_event(
- child->mem_ctx, timeval_zero(),
+ NULL, timeval_zero(),
"account_lockout_policy_handler",
account_lockout_policy_handler,
child);
Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd.h
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd.h 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd.h 2006-12-16 01:32:57 UTC (rev 20206)
@@ -151,7 +151,6 @@
struct winbindd_domain *domain;
pstring logfilename;
- TALLOC_CTX *mem_ctx;
struct fd_event event;
struct timed_event *lockout_policy_event;
struct winbindd_async_request *requests;
Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -857,6 +857,9 @@
if (result != NULL) {
state->response.extra_data.data = SMB_STRDUP(result);
+ if (!state->response.extra_data.data) {
+ return WINBINDD_ERROR;
+ }
state->response.length += len+1;
}
Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -520,6 +520,7 @@
result = cm_connect_netlogon(our_domain, &netlogon_pipe);
if (!NT_STATUS_IS_OK(result)) {
+ talloc_destroy(mem_ctx);
return False;
}
@@ -1264,10 +1265,12 @@
if (!add_sockaddr_to_array(mem_ctx, domain->dcaddr.sin_addr, 445, &addrs, &num_addrs)) {
set_domain_offline(domain);
+ talloc_destroy(mem_ctx);
return NT_STATUS_NO_MEMORY;
}
if (!add_sockaddr_to_array(mem_ctx, domain->dcaddr.sin_addr, 139, &addrs, &num_addrs)) {
set_domain_offline(domain);
+ talloc_destroy(mem_ctx);
return NT_STATUS_NO_MEMORY;
}
Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_dual.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_dual.c 2006-12-16 01:24:43 UTC (rev 20205)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_dual.c 2006-12-16 01:32:57 UTC (rev 20206)
@@ -238,7 +238,6 @@
sizeof(*request->request),
async_main_request_sent, request);
- talloc_destroy(child->mem_ctx);
return;
}
@@ -596,7 +595,7 @@
{
struct winbindd_child *child =
(struct winbindd_child *)private_data;
-
+ TALLOC_CTX *mem_ctx = NULL;
struct winbindd_methods *methods;
SAM_UNK_INFO_12 lockout_policy;
NTSTATUS result;
@@ -609,13 +608,21 @@
methods = child->domain->methods;
- result = methods->lockout_policy(child->domain, child->mem_ctx, &lockout_policy);
+ mem_ctx = talloc_init("account_lockout_policy_handler ctx");
+ if (!mem_ctx) {
+ result = NT_STATUS_NO_MEMORY;
+ } else {
+ result = methods->lockout_policy(child->domain, mem_ctx, &lockout_policy);
+ }
+
+ talloc_destroy(mem_ctx);
+
if (!NT_STATUS_IS_OK(result)) {
- DEBUG(10,("account_lockout_policy_handler: failed to call lockout_policy\n"));
- return;
+ DEBUG(10,("account_lockout_policy_handler: lockout_policy failed error %s\n",
+ nt_errstr(result)));
}
- child->lockout_policy_event = add_timed_event(child->mem_ctx,
+ child->lockout_policy_event = add_timed_event(NULL,
timeval_current_ofs(3600, 0),
"account_lockout_policy_handler",
account_lockout_policy_handler,
@@ -825,15 +832,10 @@
/* The child is ok with online/offline messages now. */
message_unblock();
- child->mem_ctx = talloc_init("child_mem_ctx");
- if (child->mem_ctx == NULL) {
- return False;
- }
-
if (child->domain != NULL && lp_winbind_offline_logon()) {
/* We might be in the idmap child...*/
child->lockout_policy_event = add_timed_event(
- child->mem_ctx, timeval_zero(),
+ NULL, timeval_zero(),
"account_lockout_policy_handler",
account_lockout_policy_handler,
child);
More information about the samba-cvs
mailing list