From: Corey Farrell Date: Mon, 6 Nov 2017 23:48:06 +0000 (-0500) Subject: res_pjsip_exten_state: Check for vector append failure. X-Git-Tag: 16.0.0-rc1~664^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8684219f79481b5ea18ac88911d7c381290c8919;p=thirdparty%2Fasterisk.git res_pjsip_exten_state: Check for vector append failure. Release reference to publisher if we fail to add it to the vector. Change-Id: I64dff3f481b67b9884f37cadba7a5ccf23d084f3 --- diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c index 95a40829e6..3e756134c2 100644 --- a/res/res_pjsip_exten_state.c +++ b/res/res_pjsip_exten_state.c @@ -729,8 +729,11 @@ static int exten_state_publisher_state_cb(const char *context, const char *exten } ao2_ref(publisher, +1); - AST_VECTOR_APPEND(&pub_data->pubs, publisher); - ast_debug(5, "'%s' will publish exten state\n", publisher->name); + if (AST_VECTOR_APPEND(&pub_data->pubs, publisher)) { + ao2_ref(publisher, -1); + } else { + ast_debug(5, "'%s' will publish exten state\n", publisher->name); + } } ao2_iterator_destroy(&publisher_iter);