[asterisk-dev] [Code Review]: avoid many cppcheck (#2)

junky reviewboard at asterisk.org
Thu Mar 1 17:13:16 CST 2012



> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/res/res_jabber.c, line 1665
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25193#file25193line1665>
> >
> >     Your cppcheck probably has !defined(HAVE_OPENSSL). With it, the break is still doing something.
> >     
> >     Move the break to before the #endif.

moved.


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/res/res_musiconhold.c, lines 1104-1105
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25194#file25194line1104>
> >
> >     Move this one up a line, it belongs with the ast_free, not with the getcwd.

i dont think so.
there was no { } before, so it means 
class->total_files = 0;
was called just once, after the for loop.
It doesnt make sense to call that initialisation many times, no?

I added braces though.


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/funcs/func_env.c, line 603
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25182#file25182line603>
> >
> >     How about:
> >     
> >     pos = (end < sizeof(fbuf) ? fbuf + end - 1 : fbuf + sizeof(fbuf) - 1)

that will keep the cppcheck warning, since the operator precedence isnt there.


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/channels/chan_unistim.c, lines 4344-4346
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25176#file25176line4344>
> >
> >     > if channel_to_session(ast) returns NULL, without that new if, we'll get a segfault.
> >     
> >     Of course, but that has not occurred (often), otherwise this would have been fixed by now.
> >     
> >     But you're right, I don't see why some functions should skip the check while others do it:
> >     
> >     please add same check to beginnning of unistim_sendtext.

Added check in unistim_sendtext() too.


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/channels/chan_h323.c, lines 1439-1440
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25175#file25175line1439>
> >
> >     Add braces since you're touching this line.

done


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/channels/chan_alsa.c, line 481
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25172#file25172line481>
> >
> >     Red blob

removed.


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/channels/chan_unistim.c, lines 3158-3161
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25176#file25176line3158>
> >
> >     Wrong: OpenHistory takes care of most of the fclose's.
> >     
> >     (1) Change OpenHistory to set *f = NULL after fclose and here do an if(f){fclose(f);}
> >     
> >     or
> >     
> >     (2) Have OpenHistory fclose(*f) if count==0.
> >     
> >     Logically, I'd prefer the first. But the second will reduce the amount of extra if's you'll have to write. Better go with the last one.

i would tend to agree, but not cppcheck.
Do you see any trouble to have those fclose() in there?


> On March 1, 2012, 7:12 a.m., wdoekes wrote:
> > trunk/codecs/codec_resample.c, lines 141-144
> > <https://reviewboard.asterisk.org/r/1743/diff/2/?file=25179#file25179line141>
> >
> >     Add a comment that this works only because unload_module's calls to ast_unregister_translator won't fail for the translators that failed to register.
> >     
> >     unload_module already relies on that btw, since it also tries to unload the x==y translators that were never registered.
> >     
> >     All the more reason to break at the first sign of failure and not continue on when we're going to undo everything anyway.

comment added.


- junky


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


On March 1, 2012, 12:22 a.m., junky wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1743/
> -----------------------------------------------------------
> 
> (Updated March 1, 2012, 12:22 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> This patch is to prevent many more cppcheck warnings.
> 
> 
> Diffs
> -----
> 
>   trunk/apps/app_minivm.c 357660 
>   trunk/apps/app_osplookup.c 357660 
>   trunk/cdr/cdr_pgsql.c 357660 
>   trunk/cdr/cdr_sqlite3_custom.c 357660 
>   trunk/channels/chan_alsa.c 357660 
>   trunk/channels/chan_dahdi.c 357660 
>   trunk/channels/chan_gtalk.c 357660 
>   trunk/channels/chan_h323.c 357660 
>   trunk/channels/chan_unistim.c 357660 
>   trunk/channels/vcodecs.c 357660 
>   trunk/codecs/codec_dahdi.c 357660 
>   trunk/codecs/codec_resample.c 357660 
>   trunk/formats/format_h264.c 357660 
>   trunk/funcs/func_devstate.c 357660 
>   trunk/funcs/func_env.c 357660 
>   trunk/main/ast_expr2.fl 357660 
>   trunk/main/ast_expr2f.c 357660 
>   trunk/main/asterisk.c 357660 
>   trunk/main/data.c 357660 
>   trunk/res/res_config_ldap.c 357660 
>   trunk/res/res_config_sqlite3.c 357660 
>   trunk/res/res_corosync.c 357660 
>   trunk/res/res_format_attr_celt.c 357660 
>   trunk/res/res_format_attr_silk.c 357660 
>   trunk/res/res_http_post.c 357660 
>   trunk/res/res_jabber.c 357660 
>   trunk/res/res_musiconhold.c 357660 
>   trunk/res/res_odbc.c 357660 
>   trunk/res/res_phoneprov.c 357660 
> 
> Diff: https://reviewboard.asterisk.org/r/1743/diff
> 
> 
> Testing
> -------
> 
> used cppcheck 1.52
> it compiles ;)
> 
> 
> Thanks,
> 
> junky
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120301/811759d0/attachment-0001.htm>


More information about the asterisk-dev mailing list