svn commit: samba r15681 - branches/SAMBA_3_0/source/libsmb trunk/source/libsmb

jerry at samba.org jerry at samba.org
Thu May 18 04:33:43 GMT 2006


Author: jerry
Date: 2006-05-18 04:33:43 +0000 (Thu, 18 May 2006)
New Revision: 15681

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

Log:
fix segv in 'kinit && net ads join'
Modified:
   branches/SAMBA_3_0/source/libsmb/cliconnect.c
   trunk/source/libsmb/cliconnect.c


Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/cliconnect.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/cliconnect.c	2006-05-18 04:13:07 UTC (rev 15680)
+++ branches/SAMBA_3_0/source/libsmb/cliconnect.c	2006-05-18 04:33:43 UTC (rev 15681)
@@ -1493,6 +1493,7 @@
 {
 	NTSTATUS nt_status;
 	struct cli_state *cli = NULL;
+	int pw_len = password ? strlen(password)+1 : 0;
 
 	nt_status = cli_start_connection(&cli, my_name, dest_host, 
 					 dest_ip, port, signing_state, flags, retry);
@@ -1501,9 +1502,7 @@
 		return nt_status;
 	}
 
-	if (!cli_session_setup(cli, user, password, strlen(password)+1, 
-			       password, strlen(password)+1, 
-			       domain)) {
+	if (!cli_session_setup(cli, user, password, pw_len, password, pw_len, domain)) {
 		if ((flags & CLI_FULL_CONNECTION_ANNONYMOUS_FALLBACK)
 		    && cli_session_setup(cli, "", "", 0, "", 0, domain)) {
 		} else {
@@ -1517,8 +1516,7 @@
 	} 
 
 	if (service) {
-		if (!cli_send_tconX(cli, service, service_type,
-				    password, strlen(password)+1)) {
+		if (!cli_send_tconX(cli, service, service_type, password, pw_len)) {
 			nt_status = cli_nt_error(cli);
 			DEBUG(1,("failed tcon_X with %s\n", nt_errstr(nt_status)));
 			cli_shutdown(cli);

Modified: trunk/source/libsmb/cliconnect.c
===================================================================
--- trunk/source/libsmb/cliconnect.c	2006-05-18 04:13:07 UTC (rev 15680)
+++ trunk/source/libsmb/cliconnect.c	2006-05-18 04:33:43 UTC (rev 15681)
@@ -1493,6 +1493,7 @@
 {
 	NTSTATUS nt_status;
 	struct cli_state *cli = NULL;
+	int pw_len = password ? strlen(password)+1 : 0;
 
 	nt_status = cli_start_connection(&cli, my_name, dest_host, 
 					 dest_ip, port, signing_state, flags, retry);
@@ -1501,9 +1502,7 @@
 		return nt_status;
 	}
 
-	if (!cli_session_setup(cli, user, password, strlen(password)+1, 
-			       password, strlen(password)+1, 
-			       domain)) {
+	if (!cli_session_setup(cli, user, password, pw_len, password, pw_len, domain)) {
 		if ((flags & CLI_FULL_CONNECTION_ANNONYMOUS_FALLBACK)
 		    && cli_session_setup(cli, "", "", 0, "", 0, domain)) {
 		} else {
@@ -1517,8 +1516,7 @@
 	} 
 
 	if (service) {
-		if (!cli_send_tconX(cli, service, service_type,
-				    password, strlen(password)+1)) {
+		if (!cli_send_tconX(cli, service, service_type, password, pw_len)) {
 			nt_status = cli_nt_error(cli);
 			DEBUG(1,("failed tcon_X with %s\n", nt_errstr(nt_status)));
 			cli_shutdown(cli);



More information about the samba-cvs mailing list