From: Corey Farrell Date: Mon, 6 Nov 2017 21:33:00 +0000 (-0500) Subject: stasis: Release object if vector append fails. X-Git-Tag: 13.19.0-rc1~152^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dc600ef8435ae7c9799d62e9124c82af37d0bdc;p=thirdparty%2Fasterisk.git stasis: Release object if vector append fails. Change-Id: I3e5cc669169aab6175ddfaf7486edeaeb4fdcfb1 --- diff --git a/main/stasis.c b/main/stasis.c index 48e4eb5a55..42d8651414 100644 --- a/main/stasis.c +++ b/main/stasis.c @@ -1241,10 +1241,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) */