summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/endpoints.c4
-rw-r--r--main/format.c2
-rw-r--r--main/loader.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/main/endpoints.c b/main/endpoints.c
index a5d50cfde..9f6d2c062 100644
--- a/main/endpoints.c
+++ b/main/endpoints.c
@@ -116,6 +116,9 @@ static void endpoint_dtor(void *obj)
ao2_cleanup(endpoint->topic);
endpoint->topic = NULL;
+ ao2_cleanup(endpoint->channel_ids);
+ endpoint->channel_ids = NULL;
+
ast_string_field_free_memory(endpoint);
}
@@ -357,6 +360,7 @@ struct ast_endpoint_snapshot *ast_endpoint_snapshot_create(
RAII_VAR(char *, channel_id, obj, ao2_cleanup);
snapshot->channel_ids[snapshot->num_channels++] = channel_id;
}
+ ao2_iterator_destroy(&i);
ao2_ref(snapshot, +1);
return snapshot;
diff --git a/main/format.c b/main/format.c
index 36aa534c0..5b8b8b05f 100644
--- a/main/format.c
+++ b/main/format.c
@@ -912,7 +912,7 @@ static struct ast_cli_entry my_clis[] = {
static int format_list_add_custom(struct ast_format_list *new)
{
- struct ast_format_list *entry;
+ RAII_VAR(struct ast_format_list *, entry, NULL, ao2_cleanup);
if (!(entry = ao2_alloc(sizeof(*entry), NULL))) {
return -1;
}
diff --git a/main/loader.c b/main/loader.c
index be08d7f96..86735df52 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -1110,6 +1110,8 @@ static int load_resource_list(struct load_order *load_order, unsigned int global
break;
case AST_MODULE_LOAD_PRIORITY:
AST_LIST_REMOVE_CURRENT(entry);
+ ast_free(order->resource);
+ ast_free(order);
break;
}
}