[Home]

Summary:ASTERISK-23053: The users of ao2_iterator_cleanup() are violating the ao2_iterator opacity.
Reporter:Richard Mudgett (rmudgett)Labels:
Date Opened:2013-12-20 16:54:55.000-0600Date Closed:2014-01-09 14:30:01.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip_session
Versions:12.0.0-beta2 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:You are not supposed to access any members of struct ao2_iterator directly as documented where the struct is defined in astobj2.h:
{noformat}
/*!
* \brief The astobj2 iterator
*
* \note You are not supposed to know the internals of an iterator!
* We would like the iterator to be opaque, unfortunately
* its size needs to be known if we want to store it around
* without too much trouble.
* Anyways...
* The iterator has a pointer to the container, and a flags
* field specifying various things e.g. whether the container
* should be locked or not while navigating on it.
* The iterator "points" to the current container node.
*
* Details are in the implementation of ao2_iterator_next()
*/
struct ao2_iterator
{noformat}

The violators are these functions:
handle_negotiated_sdp()
create_local_sdp()
Comments: