res_pjsip_mwi.c: Fix MWI subscription memory corruption crash.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 26 Jun 2015 23:48:35 +0000 (18:48 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 6 Jul 2015 21:15:12 +0000 (16:15 -0500)
commit189841ddb7d26368aa7ffa1c0273c7f59e262dc7
tree912bdc1cd1dec5600cdac2eec4f318a22fa0af9d
parent7cd99be534945fffd5927554c9c4469454008d3c
res_pjsip_mwi.c: Fix MWI subscription memory corruption crash.

MWI subscriptions can crash or corrupt memory when using the subscription
datastore to access the MWI subscription object because the datastore is
not holding a reference to the object.

* Give the subscription datastore a ref to the MWI subscription object.
It is unfortunate that the ref causes a circular ref chain that must be
explicitly broken to allow the memory to get released.  The loop is broken
when the subscription is shutdown and if the subscription setup fails.

ASTERISK-25168 #close
Reported by: Carl Fortin

Change-Id: Ice4fa823f138ff10a6c74d280699c41a82836d4f
res/res_pjsip_mwi.c