summaryrefslogtreecommitdiff
path: root/main/stasis.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-11-06 16:33:00 -0500
committerCorey Farrell <git@cfware.com>2017-11-06 16:33:00 -0500
commitadb4fdcb7b920535d38eaa1a2c99e48347e852f7 (patch)
treeb3277c9411bfd0025be433845160fa62ff629585 /main/stasis.c
parent637b37fb980822f50966f5292a786d03a859cd89 (diff)
stasis: Release object if vector append fails.
Change-Id: I3e5cc669169aab6175ddfaf7486edeaeb4fdcfb1
Diffstat (limited to 'main/stasis.c')
-rw-r--r--main/stasis.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/main/stasis.c b/main/stasis.c
index a82e938f4..4328b8436 100644
--- a/main/stasis.c
+++ b/main/stasis.c
@@ -1239,10 +1239,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) */