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

vlendec at samba.org vlendec at samba.org
Wed Mar 8 08:51:20 GMT 2006


Author: vlendec
Date: 2006-03-08 08:51:19 +0000 (Wed, 08 Mar 2006)
New Revision: 14036

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

Log:
Ok, the last one generated a const warning. Also fix Coverity # 119.

net rpc vampire is ugly....

Volker

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-08 08:41:36 UTC (rev 14035)
+++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-03-08 08:51:19 UTC (rev 14036)
@@ -305,6 +305,10 @@
 		    (!old_string && new_string) ||\
 		(old_string && new_string && (strcmp(old_string, new_string) != 0))
 
+#define STRING_CHANGED_NC(s1,s2) ((s1) && !(s2)) ||\
+		    (!(s1) && (s2)) ||\
+		((s1) && (s2) && (strcmp((s1), (s2)) != 0))
+
 static NTSTATUS sam_account_from_delta(struct samu *account, SAM_ACCOUNT_INFO *delta)
 {
 	const char *old_string, *new_string;
@@ -389,14 +393,15 @@
 
 	if (delta->hdr_parameters.buffer) {
 		DATA_BLOB mung;
+		char *newstr;
 		old_string = pdb_get_munged_dial(account);
 		mung.length = delta->hdr_parameters.uni_str_len;
 		mung.data = (uint8 *) delta->uni_parameters.buffer;
-		new_string = (mung.length == 0) ? NULL : base64_encode_data_blob(mung);
+		newstr = (mung.length == 0) ? NULL : base64_encode_data_blob(mung);
 
-		if (STRING_CHANGED)
-			pdb_set_munged_dial(account, new_string, PDB_CHANGED);
-		SAFE_FREE(new_string);
+		if (STRING_CHANGED_NC(old_string, newstr))
+			pdb_set_munged_dial(account, newstr, PDB_CHANGED);
+		SAFE_FREE(newstr);
 	}
 
 	/* User and group sid */
@@ -1086,11 +1091,13 @@
 	if (idmap_suffix && *idmap_suffix &&
 	    strcmp(idmap_suffix, user_suffix) &&
 	    strcmp(idmap_suffix, suffix)) {
+		char *s;
 		fprintf(add_fd, "# %s\n", idmap_suffix);
 		fprintf(add_fd, "dn: %s\n", idmap_suffix);
 		fprintf(add_fd, "ObjectClass: organizationalUnit\n");
-		fprintf(add_fd, "ou: %s\n", 
-			sstring_sub(lp_ldap_idmap_suffix(), '=', ','));
+		s = sstring_sub(lp_ldap_idmap_suffix(), '=', ',');
+		fprintf(add_fd, "ou: %s\n", s);
+		SAFE_FREE(s);
 		fprintf(add_fd, "\n");
 		fflush(add_fd);
 	}

Modified: trunk/source/utils/net_rpc_samsync.c
===================================================================
--- trunk/source/utils/net_rpc_samsync.c	2006-03-08 08:41:36 UTC (rev 14035)
+++ trunk/source/utils/net_rpc_samsync.c	2006-03-08 08:51:19 UTC (rev 14036)
@@ -305,6 +305,10 @@
 		    (!old_string && new_string) ||\
 		(old_string && new_string && (strcmp(old_string, new_string) != 0))
 
+#define STRING_CHANGED_NC(s1,s2) ((s1) && !(s2)) ||\
+		    (!(s1) && (s2)) ||\
+		((s1) && (s2) && (strcmp((s1), (s2)) != 0))
+
 static NTSTATUS sam_account_from_delta(struct samu *account, SAM_ACCOUNT_INFO *delta)
 {
 	const char *old_string, *new_string;
@@ -389,14 +393,15 @@
 
 	if (delta->hdr_parameters.buffer) {
 		DATA_BLOB mung;
+		char *newstr;
 		old_string = pdb_get_munged_dial(account);
 		mung.length = delta->hdr_parameters.uni_str_len;
 		mung.data = (uint8 *) delta->uni_parameters.buffer;
-		new_string = (mung.length == 0) ? NULL : base64_encode_data_blob(mung);
+		newstr = (mung.length == 0) ? NULL : base64_encode_data_blob(mung);
 
-		if (STRING_CHANGED)
-			pdb_set_munged_dial(account, new_string, PDB_CHANGED);
-		SAFE_FREE(new_string);
+		if (STRING_CHANGED_NC(old_string, newstr))
+			pdb_set_munged_dial(account, newstr, PDB_CHANGED);
+		SAFE_FREE(newstr);
 	}
 
 	/* User and group sid */
@@ -1086,11 +1091,13 @@
 	if (idmap_suffix && *idmap_suffix &&
 	    strcmp(idmap_suffix, user_suffix) &&
 	    strcmp(idmap_suffix, suffix)) {
+		char *s;
 		fprintf(add_fd, "# %s\n", idmap_suffix);
 		fprintf(add_fd, "dn: %s\n", idmap_suffix);
 		fprintf(add_fd, "ObjectClass: organizationalUnit\n");
-		fprintf(add_fd, "ou: %s\n", 
-			sstring_sub(lp_ldap_idmap_suffix(), '=', ','));
+		s = sstring_sub(lp_ldap_idmap_suffix(), '=', ',');
+		fprintf(add_fd, "ou: %s\n", s);
+		SAFE_FREE(s);
 		fprintf(add_fd, "\n");
 		fflush(add_fd);
 	}



More information about the samba-cvs mailing list