> On March 26, 2015, 11:57 p.m., Diederik de Groot wrote:
> > /branches/13/include/asterisk/strings.h, lines 1236-1237
> > <https://reviewboard.asterisk.org/r/4535/diff/1/?file=72977#file72977line1236>
> >
> >     Not 100% sure if this substition is correct. Please verify.
> 
> Matt Jordan wrote:
>     Well, it's "correct", but odd.
>     
>     Most container allocation routines take in two parameters - the container 
> options, and the ao2 allocation options. This is taking in the 
> ao2_container_opts, but treating it as if it were the ao2 allocation options. 
> Two factors make me think the code change you have here is correct, and that 
> we should not bother exposing ao2_container_opts:
>     (1) Most container options deal with how things are stored internally and 
> traversal mechanisms. For a simple bucket of strings, those options aren't 
> generally useful.
>     (2) The usage of the function involves attempting to create a container 
> of strings without a lock (AO2_ALLOC_OPT_LOCK_NOLOCK), which is an ao2 
> allocation option.
>     
>     So I think this is correct - the first parameter should be of type enum 
> ao2_alloc_opts.

I was a little worried about doing something wrong here. Casting enums to int 
to make them pass is always a sign of problem ahead. Good that clang is a 
little more vigilant about these.


- Diederik


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4535/#review14868
-----------------------------------------------------------


On March 28, 2015, 4:27 p.m., Diederik de Groot wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4535/
> -----------------------------------------------------------
> 
> (Updated March 28, 2015, 4:27 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-24917
>     https://issues.asterisk.org/jira/browse/ASTERISK-24917
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> clang's static analyzer will throw quite a number warnings / errors during 
> compilation, some of which can be very helpfull in finding corner-case bugs
> 
> clang compiler warning:-Wenum-conversion
> 
> Changes:
> /branches/13/channels/chan_pjsip.c:923
> Wrong enum being used
> 
> /branches/13/channels/chan_sip.c:19102
> Incorrect enum
> 
> /branches/13/channels/chan_sip.c:19107
> Incorrect enum returned
> 
> /branches/13/include/asterisk/strings.h:1236
> Replaced enum ao2_container_opts opts -> enum ao2_alloc_opts opts
> Not 100% sure if this substition is correct. Please verify.
> 
> /branches/13/main/strings.c:173
> Replaced enum ao2_container_opts opts -> enum ao2_alloc_opts opts
> Not 100% sure if this substition is correct. Please verify.
> 
> /branches/13/res/res_stasis.c:1803 
> Incorrect enum for return value
> 
> 
> Diffs
> -----
> 
>   /branches/13/res/res_stasis.c 433444 
>   /branches/13/main/strings.c 433444 
>   /branches/13/include/asterisk/strings.h 433444 
>   /branches/13/channels/chan_sip.c 433444 
>   /branches/13/channels/chan_pjsip.c 433444 
> 
> Diff: https://reviewboard.asterisk.org/r/4535/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Diederik de Groot
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to