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

vlendec at samba.org vlendec at samba.org
Sat May 13 17:10:23 GMT 2006


Author: vlendec
Date: 2006-05-13 17:10:20 +0000 (Sat, 13 May 2006)
New Revision: 15566

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

Log:
Fix Coverity bug # 284. The lp_ldap_xx_suffix function only return NULL if
talloc fails.

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-05-13 17:09:44 UTC (rev 15565)
+++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-05-13 17:10:20 UTC (rev 15566)
@@ -1042,10 +1042,12 @@
 	fflush(add_fd);
 
 	user_suffix = lp_ldap_user_suffix();
+	if (user_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
 	/* If it exists and is distinct from other containers, 
 	   Write the Users entity */
-	if (user_suffix && *user_suffix &&
-	    strcmp(user_suffix, suffix)) {
+	if (*user_suffix && strcmp(user_suffix, suffix)) {
 		user_attr = sstring_sub(lp_ldap_user_suffix(), '=', ',');
 		fprintf(add_fd, "# %s\n", user_suffix);
 		fprintf(add_fd, "dn: %s\n", user_suffix);
@@ -1057,10 +1059,12 @@
 
 
 	group_suffix = lp_ldap_group_suffix();
+	if (group_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
 	/* If it exists and is distinct from other containers, 
 	   Write the Groups entity */
-	if (group_suffix && *group_suffix &&
-	    strcmp(group_suffix, suffix)) {
+	if (*group_suffix && strcmp(group_suffix, suffix)) {
 		group_attr = sstring_sub(lp_ldap_group_suffix(), '=', ',');
 		fprintf(add_fd, "# %s\n", group_suffix);
 		fprintf(add_fd, "dn: %s\n", group_suffix);
@@ -1073,8 +1077,10 @@
 	/* If it exists and is distinct from other containers, 
 	   Write the Computers entity */
 	machine_suffix = lp_ldap_machine_suffix();
-	if (machine_suffix && *machine_suffix && 
-	    strcmp(machine_suffix, user_suffix) &&
+	if (machine_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
+	if (*machine_suffix && strcmp(machine_suffix, user_suffix) &&
 	    strcmp(machine_suffix, suffix)) {
 		char *machine_ou = NULL;
 		fprintf(add_fd, "# %s\n", machine_suffix);
@@ -1092,7 +1098,10 @@
 	/* If it exists and is distinct from other containers, 
 	   Write the IdMap entity */
 	idmap_suffix = lp_ldap_idmap_suffix();
-	if (idmap_suffix && *idmap_suffix &&
+	if (idmap_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
+	if (*idmap_suffix &&
 	    strcmp(idmap_suffix, user_suffix) &&
 	    strcmp(idmap_suffix, suffix)) {
 		char *s;

Modified: trunk/source/utils/net_rpc_samsync.c
===================================================================
--- trunk/source/utils/net_rpc_samsync.c	2006-05-13 17:09:44 UTC (rev 15565)
+++ trunk/source/utils/net_rpc_samsync.c	2006-05-13 17:10:20 UTC (rev 15566)
@@ -1042,10 +1042,12 @@
 	fflush(add_fd);
 
 	user_suffix = lp_ldap_user_suffix();
+	if (user_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
 	/* If it exists and is distinct from other containers, 
 	   Write the Users entity */
-	if (user_suffix && *user_suffix &&
-	    strcmp(user_suffix, suffix)) {
+	if (*user_suffix && strcmp(user_suffix, suffix)) {
 		user_attr = sstring_sub(lp_ldap_user_suffix(), '=', ',');
 		fprintf(add_fd, "# %s\n", user_suffix);
 		fprintf(add_fd, "dn: %s\n", user_suffix);
@@ -1057,10 +1059,12 @@
 
 
 	group_suffix = lp_ldap_group_suffix();
+	if (group_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
 	/* If it exists and is distinct from other containers, 
 	   Write the Groups entity */
-	if (group_suffix && *group_suffix &&
-	    strcmp(group_suffix, suffix)) {
+	if (*group_suffix && strcmp(group_suffix, suffix)) {
 		group_attr = sstring_sub(lp_ldap_group_suffix(), '=', ',');
 		fprintf(add_fd, "# %s\n", group_suffix);
 		fprintf(add_fd, "dn: %s\n", group_suffix);
@@ -1073,8 +1077,10 @@
 	/* If it exists and is distinct from other containers, 
 	   Write the Computers entity */
 	machine_suffix = lp_ldap_machine_suffix();
-	if (machine_suffix && *machine_suffix && 
-	    strcmp(machine_suffix, user_suffix) &&
+	if (machine_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
+	if (*machine_suffix && strcmp(machine_suffix, user_suffix) &&
 	    strcmp(machine_suffix, suffix)) {
 		char *machine_ou = NULL;
 		fprintf(add_fd, "# %s\n", machine_suffix);
@@ -1092,7 +1098,10 @@
 	/* If it exists and is distinct from other containers, 
 	   Write the IdMap entity */
 	idmap_suffix = lp_ldap_idmap_suffix();
-	if (idmap_suffix && *idmap_suffix &&
+	if (idmap_suffix == NULL) {
+		return NT_STATUS_NO_MEMORY;
+	}
+	if (*idmap_suffix &&
 	    strcmp(idmap_suffix, user_suffix) &&
 	    strcmp(idmap_suffix, suffix)) {
 		char *s;



More information about the samba-cvs mailing list