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

[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

 

Attachment: indialogsubscribeend.patch
Description: Binary data