summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/sorcery.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/sorcery.c b/main/sorcery.c
index 2ab4933be..4291530d1 100644
--- a/main/sorcery.c
+++ b/main/sorcery.c
@@ -680,6 +680,8 @@ static void sorcery_object_wizard_destructor(void *obj)
if (object_wizard->wizard) {
ast_module_unref(object_wizard->wizard->module);
}
+
+ ao2_cleanup(object_wizard->wizard);
}
/*! \brief Internal function which creates an object type and adds a wizard mapping */
@@ -707,7 +709,7 @@ static int sorcery_apply_wizard_mapping(struct ast_sorcery *sorcery, const char
ast_module_ref(wizard->module);
- object_wizard->wizard = wizard;
+ object_wizard->wizard = ao2_bump(wizard);
object_wizard->caching = caching;
ao2_link(object_type->wizards, object_wizard);