chan_sip: Fix reference leak in mwi_event_cb

Cleanup the peer reference when stasis_subscription_final_message is
true.  Also free peer_name even if peer exists, after reload a new
peer_name will be allocated.

ASTERISK-26193 #close

Change-Id: If7ecd52facdc5c227f701c760841e3f6ca53cc69
changes/91/3191/1
Corey Farrell 9 years ago
parent 73d8cb587d
commit f73ddde7d4

@ -17229,10 +17229,8 @@ static void mwi_event_cb(void *userdata, struct stasis_subscription *sub, struct
struct sip_peer *peer = sip_find_peer(peer_name, NULL, TRUE, FINDALLDEVICES, FALSE, 0);
if (stasis_subscription_final_message(sub, msg)) {
if (peer) {
/* configuration reloaded */
return;
}
/* peer can be non-NULL during reload. */
ao2_cleanup(peer);
ast_free(peer_name);
return;
}

Loading…
Cancel
Save