svn commit: samba r20207 - 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:52:07 GMT 2006


Author: jra
Date: 2006-12-16 01:52:06 +0000 (Sat, 16 Dec 2006)
New Revision: 20207

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20207

Log:
Fix a couple more places where extra_data was
being talloc'ed off the NULL context instead
of being malloced.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_group.c
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_group.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_async.c	2006-12-16 01:32:57 UTC (rev 20206)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_async.c	2006-12-16 01:52:06 UTC (rev 20207)
@@ -1135,13 +1135,13 @@
 	}
 
 
-	if (!print_sidlist(NULL, sids, num_sids, &sidstr, &len)) {
+	if (!print_sidlist(state->mem_ctx, sids, num_sids, &sidstr, &len)) {
 		DEBUG(0, ("Could not print_sidlist\n"));
 		state->response.extra_data.data = NULL;
 		return WINBINDD_ERROR;
 	}
 
-	state->response.extra_data.data = sidstr;
+	state->response.extra_data.data = SMB_STRDUP(sidstr);
 
 	if (state->response.extra_data.data != NULL) {
 		DEBUG(10, ("aliases_list: %s\n",

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_group.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_group.c	2006-12-16 01:32:57 UTC (rev 20206)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_group.c	2006-12-16 01:52:06 UTC (rev 20207)
@@ -1384,12 +1384,15 @@
 		return WINBINDD_OK;
 	}
 
-	if (!print_sidlist(NULL, groups, num_groups, &sidstring, &len)) {
-		DEBUG(0, ("malloc failed\n"));
+	if (!print_sidlist(state->mem_ctx, groups, num_groups, &sidstring, &len)) {
+		DEBUG(0, ("talloc failed\n"));
 		return WINBINDD_ERROR;
 	}
 
-	state->response.extra_data.data = sidstring;
+	state->response.extra_data.data = SMB_STRDUP(sidstring);
+	if (!state->response.extra_data.data) {
+		return WINBINDD_ERROR;
+	}
 	state->response.length += len+1;
 	state->response.data.num_entries = num_groups;
 

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:32:57 UTC (rev 20206)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_async.c	2006-12-16 01:52:06 UTC (rev 20207)
@@ -996,13 +996,13 @@
 	}
 
 
-	if (!print_sidlist(NULL, sids, num_sids, &sidstr, &len)) {
+	if (!print_sidlist(state->mem_ctx, sids, num_sids, &sidstr, &len)) {
 		DEBUG(0, ("Could not print_sidlist\n"));
 		state->response.extra_data.data = NULL;
 		return WINBINDD_ERROR;
 	}
 
-	state->response.extra_data.data = sidstr;
+	state->response.extra_data.data = SMB_STRDUP(sidstr);
 
 	if (state->response.extra_data.data != NULL) {
 		DEBUG(10, ("aliases_list: %s\n",

Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_group.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_group.c	2006-12-16 01:32:57 UTC (rev 20206)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_group.c	2006-12-16 01:52:06 UTC (rev 20207)
@@ -1398,12 +1398,15 @@
 		return WINBINDD_OK;
 	}
 
-	if (!print_sidlist(NULL, groups, num_groups, &sidstring, &len)) {
-		DEBUG(0, ("malloc failed\n"));
+	if (!print_sidlist(state->mem_ctx, groups, num_groups, &sidstring, &len)) {
+		DEBUG(0, ("talloc failed\n"));
 		return WINBINDD_ERROR;
 	}
 
-	state->response.extra_data.data = sidstring;
+	state->response.extra_data.data = SMB_STRDUP(sidstring);
+	if (!state->response.extra_data.data) {
+		return WINBINDD_ERROR;
+	}
 	state->response.length += len+1;
 	state->response.data.num_entries = num_groups;
 



More information about the samba-cvs mailing list