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

vlendec at samba.org vlendec at samba.org
Thu Mar 9 21:13:54 GMT 2006


Author: vlendec
Date: 2006-03-09 21:13:54 +0000 (Thu, 09 Mar 2006)
New Revision: 14102

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

Log:
Fix Coverity bug # 70
Modified:
   branches/SAMBA_3_0/source/passdb/secrets.c
   trunk/source/passdb/secrets.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/secrets.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/secrets.c	2006-03-09 21:07:15 UTC (rev 14101)
+++ branches/SAMBA_3_0/source/passdb/secrets.c	2006-03-09 21:13:54 UTC (rev 14102)
@@ -702,6 +702,7 @@
 					     k->node_key.dsize);
 		if (!secrets_key) {
 			DEBUG(0, ("strndup failed!\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
@@ -728,12 +729,14 @@
 		dom_info = TALLOC_P(mem_ctx, struct trustdom_info);
 		if (dom_info == NULL) {
 			DEBUG(0, ("talloc failed\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
 		if (pull_ucs2_talloc(mem_ctx, &dom_info->name,
 				     pass.uni_name) < 0) {
 			DEBUG(2, ("pull_ucs2_talloc failed\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
@@ -743,6 +746,7 @@
 			     domains, num_domains);
 
 		if (*domains == NULL) {
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 		talloc_steal(*domains, dom_info);

Modified: trunk/source/passdb/secrets.c
===================================================================
--- trunk/source/passdb/secrets.c	2006-03-09 21:07:15 UTC (rev 14101)
+++ trunk/source/passdb/secrets.c	2006-03-09 21:13:54 UTC (rev 14102)
@@ -702,6 +702,7 @@
 					     k->node_key.dsize);
 		if (!secrets_key) {
 			DEBUG(0, ("strndup failed!\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
@@ -728,12 +729,14 @@
 		dom_info = TALLOC_P(mem_ctx, struct trustdom_info);
 		if (dom_info == NULL) {
 			DEBUG(0, ("talloc failed\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
 		if (pull_ucs2_talloc(mem_ctx, &dom_info->name,
 				     pass.uni_name) < 0) {
 			DEBUG(2, ("pull_ucs2_talloc failed\n"));
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 
@@ -743,6 +746,7 @@
 			     domains, num_domains);
 
 		if (*domains == NULL) {
+			tdb_search_list_free(keys);
 			return NT_STATUS_NO_MEMORY;
 		}
 		talloc_steal(*domains, dom_info);



More information about the samba-cvs mailing list