svn commit: samba r15571 - branches/SAMBA_3_0/source/passdb trunk/source/passdb

vlendec at samba.org vlendec at samba.org
Sat May 13 17:28:24 GMT 2006


Author: vlendec
Date: 2006-05-13 17:28:21 +0000 (Sat, 13 May 2006)
New Revision: 15571

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

Log:
Fix Coverity bug #285
Modified:
   branches/SAMBA_3_0/source/passdb/pdb_ldap.c
   trunk/source/passdb/pdb_ldap.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/pdb_ldap.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/pdb_ldap.c	2006-05-13 17:21:07 UTC (rev 15570)
+++ branches/SAMBA_3_0/source/passdb/pdb_ldap.c	2006-05-13 17:28:21 UTC (rev 15571)
@@ -4356,6 +4356,7 @@
 	char *value;
 	int rc;
 	uint32 nextRid = 0;
+	const char *dn;
 
 	TALLOC_CTX *mem_ctx;
 
@@ -4419,10 +4420,13 @@
 			 talloc_asprintf(mem_ctx, "%d", nextRid));
 	talloc_autofree_ldapmod(mem_ctx, mods);
 
-	rc = smbldap_modify(smbldap_state,
-			    smbldap_talloc_dn(mem_ctx, priv2ld(priv), entry),
-			    mods);
+	if ((dn = smbldap_talloc_dn(mem_ctx, priv2ld(priv), entry)) == NULL) {
+		status = NT_STATUS_NO_MEMORY;
+		goto done;
+	}
 
+	rc = smbldap_modify(smbldap_state, dn, mods);
+
 	/* ACCESS_DENIED is used as a placeholder for "the modify failed,
 	 * please retry" */
 

Modified: trunk/source/passdb/pdb_ldap.c
===================================================================
--- trunk/source/passdb/pdb_ldap.c	2006-05-13 17:21:07 UTC (rev 15570)
+++ trunk/source/passdb/pdb_ldap.c	2006-05-13 17:28:21 UTC (rev 15571)
@@ -4356,6 +4356,7 @@
 	char *value;
 	int rc;
 	uint32 nextRid = 0;
+	const char *dn;
 
 	TALLOC_CTX *mem_ctx;
 
@@ -4419,10 +4420,13 @@
 			 talloc_asprintf(mem_ctx, "%d", nextRid));
 	talloc_autofree_ldapmod(mem_ctx, mods);
 
-	rc = smbldap_modify(smbldap_state,
-			    smbldap_talloc_dn(mem_ctx, priv2ld(priv), entry),
-			    mods);
+	if ((dn = smbldap_talloc_dn(mem_ctx, priv2ld(priv), entry)) == NULL) {
+		status = NT_STATUS_NO_MEMORY;
+		goto done;
+	}
 
+	rc = smbldap_modify(smbldap_state, dn, mods);
+
 	/* ACCESS_DENIED is used as a placeholder for "the modify failed,
 	 * please retry" */
 



More information about the samba-cvs mailing list