svn commit: samba r17290 - in branches/SAMBA_4_0/source/winbind: .

metze at samba.org metze at samba.org
Fri Jul 28 11:51:08 GMT 2006


Author: metze
Date: 2006-07-28 11:51:07 +0000 (Fri, 28 Jul 2006)
New Revision: 17290

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

Log:
don't do any stuff that can fail in the _recv function

metze
Modified:
   branches/SAMBA_4_0/source/winbind/wb_pam_auth.c


Changeset:
Modified: branches/SAMBA_4_0/source/winbind/wb_pam_auth.c
===================================================================
--- branches/SAMBA_4_0/source/winbind/wb_pam_auth.c	2006-07-28 07:49:07 UTC (rev 17289)
+++ branches/SAMBA_4_0/source/winbind/wb_pam_auth.c	2006-07-28 11:51:07 UTC (rev 17290)
@@ -37,6 +37,7 @@
 	uint32_t logon_parameters;
 	const char *domain_name;
 	const char *user_name;
+	const char *unix_username;
 	const char *workstation;
 	DATA_BLOB chal, nt_resp, lm_resp;
 
@@ -89,6 +90,8 @@
 	state->user_name = talloc_strdup(state, user);
 	if (state->user_name == NULL) goto failed;
 
+	state->unix_username = NULL;
+
 	state->workstation = talloc_strdup(state, workstation);
 	if (state->workstation == NULL) goto failed;
 
@@ -255,6 +258,12 @@
 		talloc_steal(state, base->domain.string);
 	}
 
+	state->unix_username = talloc_asprintf(state, "%s%s%s", 
+					       state->domain_name,
+					       lp_winbind_separator(),
+					       state->user_name);
+	if (composite_nomem(state->unix_username, state->ctx)) return;
+
 	composite_done(state->ctx);
 }
 
@@ -273,13 +282,7 @@
 		info3->data = talloc_steal(mem_ctx, state->info3.data);
 		*user_session_key = state->user_session_key;
 		*lm_key = state->lm_key;
-		*unix_username = talloc_asprintf(mem_ctx, "%s%s%s", 
-						 state->domain_name,
-						 lp_winbind_separator(),
-						 state->user_name);
-		if (!*unix_username) {
-			status = NT_STATUS_NO_MEMORY;
-		}
+		*unix_username = talloc_steal(mem_ctx, state->unix_username);
 	}
 	talloc_free(state);
 	return status;



More information about the samba-cvs mailing list