summaryrefslogtreecommitdiff
path: root/source4/lib/dcom
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-02 12:55:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:10 -0500
commitf4b349127bdfe233476fe2efba961912f39a5cbd (patch)
tree8b612fc9b60c9e253964c0d539e071dd7e0afe28 /source4/lib/dcom
parent09a76e204cf339862f8b0b45979d65cc34aa3c36 (diff)
downloadsamba-f4b349127bdfe233476fe2efba961912f39a5cbd.tar.gz
samba-f4b349127bdfe233476fe2efba961912f39a5cbd.tar.bz2
samba-f4b349127bdfe233476fe2efba961912f39a5cbd.zip
r4479: added the function talloc_autofree_context() which returns a talloc context that
will automatically be freed on program exit. This is useful for reducing clutter in leak reports (This used to be commit cf73dda652e0a121901f22771104be6751c0fcb9)
Diffstat (limited to 'source4/lib/dcom')
-rw-r--r--source4/lib/dcom/common/tables.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source4/lib/dcom/common/tables.c b/source4/lib/dcom/common/tables.c
index 6b0d99cae3..faf67710e0 100644
--- a/source4/lib/dcom/common/tables.c
+++ b/source4/lib/dcom/common/tables.c
@@ -76,10 +76,13 @@ const void *dcom_proxy_vtable_by_iid(const struct GUID *iid)
NTSTATUS dcom_register_interface(const void *_iface)
{
const struct dcom_interface *iface = _iface;
- struct interface_list *l = talloc_zero_p(interfaces, struct interface_list);
+ struct interface_list *l;
+
+ l = talloc_zero_p(interfaces?interfaces:talloc_autofree_context(),
+ struct interface_list);
l->interface = *iface;
-
+
DLIST_ADD(interfaces, l);
return NT_STATUS_OK;
@@ -88,7 +91,8 @@ NTSTATUS dcom_register_interface(const void *_iface)
NTSTATUS dcom_register_class(const void *_class)
{
const struct dcom_class *class = _class;
- struct class_list *l = talloc_zero_p(classes, struct class_list);
+ struct class_list *l = talloc_zero_p(classes?classes:talloc_autofree_context(),
+ struct class_list);
l->class = *class;