< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] iteration corruption ending an in-dialog subscription


Sorry for the late response – fix looks good to me.  : )

 

From: resiprocate-devel-bounces@xxxxxxxxxxxxxxx [mailto:resiprocate-devel-bounces@xxxxxxxxxxxxxxx] On Behalf Of Justin Matthews
Sent: April 14, 2008 1:48 PM
To: 'resiprocate-devel'
Subject: [reSIProcate] iteration corruption ending an in-dialog subscription

 

I think there is a problem ending client and server subscriptions from Dialog::end.  Both the Dialog::end function and the destructor of the ServerSubscription or ClientSubscription classes reference the same collection.  There is similar code in Dialog.cxx to avoid this situation.  Attached is the patch.  If there are no objections I will apply it.

 

Dialog::end()->m(Server|Client)Subscriptions

 

(Server|Client)Subscription::~ (Server|Client)Subscription()->mDialog.m(Server|Client)Subscriptions->remove(this).

 

Thanks,

 

-justin