summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2017-06-21 17:57:11 -0500
committerRichard Mudgett <rmudgett@digium.com>2017-06-21 18:21:57 -0500
commit764d04fa8705d9e5c2e7aee8a6f1c774d7d28595 (patch)
tree70be43f93cfabdd7f6a0f075dacba0a921bb9d17
parent0f6a9617eb44a8d59b5828cd860d3852cc824ce9 (diff)
res_pjsip_mwi.c: Eliminate RAII_VAR in contact delete observer
Change-Id: I0bc97c6608de1d1a4228826b3b3be43f162f05f3
-rw-r--r--res/res_pjsip_mwi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/res/res_pjsip_mwi.c b/res/res_pjsip_mwi.c
index 513be8c3c..05eee782e 100644
--- a/res/res_pjsip_mwi.c
+++ b/res/res_pjsip_mwi.c
@@ -1245,8 +1245,8 @@ static void mwi_contact_deleted(const void *object)
const struct ast_sip_contact *contact = object;
struct ao2_iterator *mwi_subs;
struct mwi_subscription *mwi_sub;
- RAII_VAR(struct ast_sip_endpoint *, endpoint, NULL, ao2_cleanup);
- RAII_VAR(struct ast_sip_contact *, found_contact, NULL, ao2_cleanup);
+ struct ast_sip_endpoint *endpoint = NULL;
+ struct ast_sip_contact *found_contact;
if (contact->endpoint) {
endpoint = ao2_bump(contact->endpoint);
@@ -1257,12 +1257,15 @@ static void mwi_contact_deleted(const void *object)
}
if (!endpoint || ast_strlen_zero(endpoint->subscription.mwi.mailboxes)) {
+ ao2_cleanup(endpoint);
return;
}
/* Check if there is another contact */
found_contact = ast_sip_location_retrieve_contact_from_aor_list(endpoint->aors);
+ ao2_cleanup(endpoint);
if (found_contact) {
+ ao2_cleanup(found_contact);
return;
}