svn commit: samba r4486 - in branches/SAMBA_4_0/source/lib/ldb/ldb_tdb: .

tridge at samba.org tridge at samba.org
Sun Jan 2 23:03:50 GMT 2005


Author: tridge
Date: 2005-01-02 23:03:50 +0000 (Sun, 02 Jan 2005)
New Revision: 4486

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

Log:
fixed some memory leaks in the new ldb code, by ensuring that memory is always
allocated as a child of the right context



Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_cache.c
   branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c
   branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_search.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_cache.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_cache.c	2005-01-02 16:25:30 UTC (rev 4485)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_cache.c	2005-01-02 23:03:50 UTC (rev 4486)
@@ -205,14 +205,14 @@
 	char *s = NULL;
 	int ret;
 
-	s = talloc_asprintf(ldb, "%.0f", ltdb->sequence_number+1);
-	if (!s) {
+	msg = talloc_p(ltdb, struct ldb_message);
+	if (msg == NULL) {
 		errno = ENOMEM;
 		return -1;
 	}
 
-	msg = talloc_p(ltdb, struct ldb_message);
-	if (msg == NULL) {
+	s = talloc_asprintf(msg, "%.0f", ltdb->sequence_number+1);
+	if (!s) {
 		errno = ENOMEM;
 		return -1;
 	}

Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c	2005-01-02 16:25:30 UTC (rev 4485)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c	2005-01-02 23:03:50 UTC (rev 4486)
@@ -199,7 +199,7 @@
 		goto failed;
 	}
 
-	message->elements = talloc_array_p(ldb, struct ldb_message_element, message->num_elements);
+	message->elements = talloc_array_p(message, struct ldb_message_element, message->num_elements);
 	if (!message->elements) {
 		errno = ENOMEM;
 		goto failed;

Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_search.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_search.c	2005-01-02 16:25:30 UTC (rev 4485)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_search.c	2005-01-02 23:03:50 UTC (rev 4486)
@@ -306,7 +306,7 @@
 		return -1;		
 	}
 
-	(*res)[0] = msg2;
+	(*res)[0] = talloc_steal(*res, msg2);
 	(*res)[1] = NULL;
 
 	return 1;
@@ -341,7 +341,7 @@
 
 	(*res) = res2;
 
-	(*res)[*count] = msg2;
+	(*res)[*count] = talloc_steal(*res, msg2);
 	(*res)[(*count)+1] = NULL;
 	(*count)++;
 



More information about the samba-cvs mailing list