svn commit: samba r16610 - in branches/SAMBA_3_0/source/nsswitch: .
jra at samba.org
jra at samba.org
Wed Jun 28 04:43:20 GMT 2006
Author: jra
Date: 2006-06-28 04:43:19 +0000 (Wed, 28 Jun 2006)
New Revision: 16610
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16610
Log:
Subtle one from Klocwork #2076. If multiple flags
are set in a winbindd request it might overwrite existing
state->response.extra_data.data values without freeing.
Jeremy.
Modified:
branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c
Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c 2006-06-28 04:43:14 UTC (rev 16609)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c 2006-06-28 04:43:19 UTC (rev 16610)
@@ -97,6 +97,7 @@
}
size = prs_data_size(&ps);
+ SAFE_FREE(state->response.extra_data.data);
state->response.extra_data.data = SMB_MALLOC(size);
if (!state->response.extra_data.data) {
prs_mem_free(&ps);
@@ -1365,6 +1366,7 @@
cell += 1;
/* Append an AFS token string */
+ SAFE_FREE(state->response.extra_data.data);
state->response.extra_data.data =
afs_createtoken_str(afsname, cell);
@@ -1614,6 +1616,7 @@
DEBUG(5, ("Setting unix username to [%s]\n", username_out));
+ SAFE_FREE(state->response.extra_data.data);
state->response.extra_data.data = SMB_STRDUP(username_out);
if (!state->response.extra_data.data) {
result = NT_STATUS_NO_MEMORY;
More information about the samba-cvs
mailing list