[asterisk-dev] [asterisk-commits] may: trunk r306499 - /trunk/addons/chan_ooh323.c
Richard Mudgett
rmudgett at digium.com
Mon Feb 7 10:17:52 CST 2011
> On 02/05/2011 11:16 PM, SVN commits to the Asterisk project wrote:
> > Author: may
> > Date: Sat Feb 5 16:16:07 2011
> > New Revision: 306499
> >
> > URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=306499
> > Log:
> > fix trivial issue after dvossel patch, initial zero fill user and
> > peer
> > structure before cap structure allocated.
> >
> > Modified:
> > trunk/addons/chan_ooh323.c
> >
> > Modified: trunk/addons/chan_ooh323.c
> > URL:
> > http://svnview.digium.com/svn/asterisk/trunk/addons/chan_ooh323.c?view=diff&rev=306499&r1=306498&r2=306499
> > ==============================================================================
> > --- trunk/addons/chan_ooh323.c (original)
> > +++ trunk/addons/chan_ooh323.c Sat Feb 5 16:16:07 2011
> > @@ -2179,11 +2179,11 @@
> >
> > user = ast_calloc(1,sizeof(struct ooh323_user));
> > if (user) {
> > + memset(user, 0, sizeof(struct ooh323_user));
> > if (!(user->cap = ast_format_cap_alloc_nolock())) {
> > ast_free(user);
> > return NULL;
> > }
> > - memset(user, 0, sizeof(struct ooh323_user));
> > ast_mutex_init(&user->lock);
> > ast_copy_string(user->name, name, sizeof(user->name));
> > ast_format_cap_copy(user->cap, gCap);
>
> This cannot be the real fix for whatever problem you are seeing... you
> are allocating the structure using ast_calloc(), which returns
> zero-filled memory. Setting it to zero again isn't going to accomplish
> much :-)
>
Yes it does fix a problem. The struct was memset to zero after the ast_format_cap_alloc_nolock() thus a memory leak.
Richard
More information about the asterisk-dev
mailing list