svn commit: samba r14156 - branches/SAMBA_3_0/source/utils trunk/source/utils

jmcd at samba.org jmcd at samba.org
Fri Mar 10 14:28:52 GMT 2006


Author: jmcd
Date: 2006-03-10 14:28:51 +0000 (Fri, 10 Mar 2006)
New Revision: 14156

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

Log:
Fix coverity #114: free storage alloc'ed by sstring_sub()

Modified:
   branches/SAMBA_3_0/source/utils/net_rpc_samsync.c
   trunk/source/utils/net_rpc_samsync.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-03-10 14:20:09 UTC (rev 14155)
+++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-03-10 14:28:51 UTC (rev 14156)
@@ -1455,7 +1455,7 @@
 	fstring hex_nt_passwd, hex_lm_passwd;
 	fstring description, fullname, sambaSID;
 	uchar lm_passwd[16], nt_passwd[16];
-	char *flags;
+	char *flags, *user_rdn;
 	const char* nopasswd = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
 	static uchar zero_buf[16];
 	uint32 rid = 0, group_rid = 0, gidNumber = 0;
@@ -1551,10 +1551,11 @@
 				     NEW_PW_FORMAT_SPACE_PADDED_LEN);
 
 	/* Add the user to the temporary add ldif file */
-	fprintf(add_fd, "# %s, %s, %s\n", username, 
-		sstring_sub(lp_ldap_user_suffix(), '=', ','), suffix);
-	fprintf(add_fd, "dn: uid=%s,ou=%s,%s\n", username, 
-		sstring_sub(lp_ldap_user_suffix(), '=', ','), suffix);
+	/* this isn't quite right...we can't assume there's just OU=. jmcd */
+	user_rdn = sstring_sub(lp_ldap_user_suffix(), '=', ',');
+	fprintf(add_fd, "# %s, %s, %s\n", username, user_rdn, suffix);
+	fprintf(add_fd, "dn: uid=%s,ou=%s,%s\n", username, user_rdn, suffix);
+	SAFE_FREE(user_rdn);
 	fprintf(add_fd, "ObjectClass: top\n");
 	fprintf(add_fd, "objectClass: inetOrgPerson\n");
 	fprintf(add_fd, "objectClass: posixAccount\n");

Modified: trunk/source/utils/net_rpc_samsync.c
===================================================================
--- trunk/source/utils/net_rpc_samsync.c	2006-03-10 14:20:09 UTC (rev 14155)
+++ trunk/source/utils/net_rpc_samsync.c	2006-03-10 14:28:51 UTC (rev 14156)
@@ -1455,7 +1455,7 @@
 	fstring hex_nt_passwd, hex_lm_passwd;
 	fstring description, fullname, sambaSID;
 	uchar lm_passwd[16], nt_passwd[16];
-	char *flags;
+	char *flags, *user_rdn;
 	const char* nopasswd = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
 	static uchar zero_buf[16];
 	uint32 rid = 0, group_rid = 0, gidNumber = 0;
@@ -1551,10 +1551,11 @@
 				     NEW_PW_FORMAT_SPACE_PADDED_LEN);
 
 	/* Add the user to the temporary add ldif file */
-	fprintf(add_fd, "# %s, %s, %s\n", username, 
-		sstring_sub(lp_ldap_user_suffix(), '=', ','), suffix);
-	fprintf(add_fd, "dn: uid=%s,ou=%s,%s\n", username, 
-		sstring_sub(lp_ldap_user_suffix(), '=', ','), suffix);
+	/* this isn't quite right...we can't assume there's just OU=. jmcd */
+	user_rdn = sstring_sub(lp_ldap_user_suffix(), '=', ',');
+	fprintf(add_fd, "# %s, %s, %s\n", username, user_rdn, suffix);
+	fprintf(add_fd, "dn: uid=%s,ou=%s,%s\n", username, user_rdn, suffix);
+	SAFE_FREE(user_rdn);
 	fprintf(add_fd, "ObjectClass: top\n");
 	fprintf(add_fd, "objectClass: inetOrgPerson\n");
 	fprintf(add_fd, "objectClass: posixAccount\n");



More information about the samba-cvs mailing list