[asterisk-dev] [Code Review] 4541: clang compiler warning: -Wpointer-bool-conversion
Diederik de Groot
reviewboard at asterisk.org
Tue Mar 31 11:08:05 CDT 2015
> On March 31, 2015, 5:50 p.m., Mark Michelson wrote:
> > /branches/13/apps/app_queue.c, lines 9089-9093
> > <https://reviewboard.asterisk.org/r/4541/diff/1/?file=73002#file73002line9089>
> >
> > This change is not correct. While the mem->state_interface will always be non-NULL (thanks, clang!), it may not have been configured and will therefore be zero-length.
> >
> > The correct fix here is to switch the previous
> >
> > if (mem->state_interface)
> >
> > to be
> >
> > if (ast_strlen_zero(mem->state_interface))
Thanks for pointing that one out.
Fixed using "if (!ast_strlen_zero(mem->state_interface))" instead :-)
> On March 31, 2015, 5:50 p.m., Mark Michelson wrote:
> > /branches/13/res/res_smdi.c, lines 876-881
> > <https://reviewboard.asterisk.org/r/4541/diff/1/?file=73004#file73004line876>
> >
> > This change is incorrect. The if checks should be changed to
> >
> > if (ast_strlen_zero(search_msg->mesg_dsk_num))
> >
> > and
> >
> > if (ast_strlen_zero(search_msg->mesg_desk_term))
Fixed using "if (!ast_strlen_zero(...)) instead.
Thanks Mark !
- Diederik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4541/#review14978
-----------------------------------------------------------
On March 31, 2015, 6:05 p.m., Diederik de Groot wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4541/
> -----------------------------------------------------------
>
> (Updated March 31, 2015, 6:05 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:-Wpointer-bool-conversion
>
> Issues:
> chan_pjsip.c:1898:13: warning: address of array 'data->text' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (!data->text) {
> ~~~~~~~^~~~
> app_minivm.c:1841:18: warning: address of array 'etemplate->locale' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (etemplate->locale) {
> ~~ ~~~~~~~~~~~^~~~~~
> app_minivm.c:1871:17: warning: address of array 'etemplate->locale' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (etemplate->locale) {
> ~~ ~~~~~~~~~~~^~~~~~
> app_queue.c:6686:19: warning: address of array 'qe->parent->monfmt' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (qe->parent->monfmt && *qe->parent->monfmt) {
> ~~~~~~~~~~~~^~~~~~ ~~
> app_queue.c:9090:15: warning: address of array 'mem->state_interface' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (mem->state_interface) {
> ~~ ~~~~~^~~~~~~~~~~~~~~
> res_smdi.c:876:19: warning: address of array 'search_msg->mesg_desk_num' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (search_msg->mesg_desk_num) {
> ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~
> res_smdi.c:879:19: warning: address of array 'search_msg->mesg_desk_term' will always evaluate to 'true' [-Wpointer-bool-conversion]
> if (search_msg->mesg_desk_term) {
> ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~
>
> Changed: removed the superfluous checks
>
>
> Diffs
> -----
>
> /branches/13/res/res_smdi.c 433444
> /branches/13/channels/chan_pjsip.c 433444
> /branches/13/apps/app_queue.c 433444
> /branches/13/apps/app_minivm.c 433444
>
> Diff: https://reviewboard.asterisk.org/r/4541/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Diederik de Groot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150331/16a8a55b/attachment-0001.html>
More information about the asterisk-dev
mailing list