Blob Blame Raw
diff -up dhcp-4.3.0a1/server/db.c.leak dhcp-4.3.0a1/server/db.c
--- dhcp-4.3.0a1/server/db.c.leak	2013-12-20 13:39:51.629774500 +0100
+++ dhcp-4.3.0a1/server/db.c	2013-12-20 13:39:51.673773887 +0100
@@ -416,6 +416,7 @@ int write_host (host)
 			fputc (';', db_file);
 			if (errno)
 				++errors;
+			data_string_forget (&ip_addrs, MDL);
 		}
 
 		if (host -> named_group) {
diff -up dhcp-4.3.0a1/server/omapi.c.leak dhcp-4.3.0a1/server/omapi.c
--- dhcp-4.3.0a1/server/omapi.c.leak	2013-12-11 01:25:12.000000000 +0100
+++ dhcp-4.3.0a1/server/omapi.c	2013-12-20 13:39:51.674773873 +0100
@@ -1133,8 +1133,6 @@ isc_result_t dhcp_host_destroy (omapi_ob
 	if (h -> type != dhcp_type_host)
 		return DHCP_R_INVALIDARG;
 
-#if defined (DEBUG_MEMORY_LEAKAGE) || \
-		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
 	struct host_decl *host = (struct host_decl *)h;
 	if (host -> n_ipaddr)
 		host_dereference (&host -> n_ipaddr, file, line);
@@ -1153,7 +1151,6 @@ isc_result_t dhcp_host_destroy (omapi_ob
 		omapi_object_dereference ((omapi_object_t **)
 					  &host -> named_group, file, line);
 	data_string_forget (&host -> auth_key_id, file, line);
-#endif
 
 	return ISC_R_SUCCESS;
 }
@@ -1239,6 +1236,7 @@ isc_result_t dhcp_host_stuff_values (oma
 						  ip_addrs.data, ip_addrs.len);
 		if (status != ISC_R_SUCCESS)
 			return status;
+		data_string_forget (&ip_addrs, MDL);
 	}
 
 	if (host -> client_identifier.len) {