[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