summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJenkins2 <jenkins2@gerrit.asterisk.org>2017-11-07 16:40:49 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-11-07 16:40:50 -0600
commit2dcd0c8a0590db948cc0fa528f9ea3c6d0f69fa5 (patch)
tree80be87d2cc3288c676ecc09bf5c250883e55c06d /main
parent759f4c11254ac7fb29776966e0a2e27fc9ca78b6 (diff)
parentadb4fdcb7b920535d38eaa1a2c99e48347e852f7 (diff)
Merge "stasis: Release object if vector append fails."
Diffstat (limited to 'main')
-rw-r--r--main/stasis.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/main/stasis.c b/main/stasis.c
index 4a5d8ac7c..186d88fdd 100644
--- a/main/stasis.c
+++ b/main/stasis.c
@@ -1240,10 +1240,9 @@ struct ast_multi_object_blob *ast_multi_object_blob_create(struct ast_json *blob
void ast_multi_object_blob_add(struct ast_multi_object_blob *multi,
enum stasis_user_multi_object_snapshot_type type, void *object)
{
- if (!multi || !object) {
- return;
+ if (!multi || !object || AST_VECTOR_APPEND(&multi->snapshots[type], object)) {
+ ao2_cleanup(object);
}
- AST_VECTOR_APPEND(&multi->snapshots[type],object);
}
/*! \brief Publish single channel user event (for app_userevent compatibility) */