- I've also tried to provide fixes for some (until I got both tired and unable to fix those that result from the ASN.1 definitions) in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5858. - CLANG static analyzer was also quite helpful in finding issues. It just takes hours to compile wireshark with it. - First time I've heard of ptvcursors. Nice.
Y. On Thu, Jul 14, 2011 at 5:51 AM, Bill Meier <wme...@newsguy.com> wrote: > On 7/13/2011 7:38 PM, Guy Harris wrote: > >> >> Haven't you (and maybe others) been fixing the same issues already, >> as a result of Coverity warnings about the same thing? >> >> And how many of those are >> >> static void >> dissect_whatever(...) >> { >> >> ... >> >> proto_tree_add_item(tree, hf_foo, tvb, offset, len_foo, encoding); >> offset += len_foo; >> proto_tree_add_item(tree, hf_bar, tvb, offset, len_bar, encoding); >> offset += len_bar; >> } >> >> and how many of those ultimately represent dissectors that should be >> converted to use ptvcursors, in which case the "offset +=" stuff will >> disappear into the ptvcursor code and not get whined about by dataflow >> analyzers? >> > > I'd have to go back and look but I guess that some of the "Coverity > [unused]" defects for the dissectors were related to the pattern as shown > above: > { > ... > offset += ...; > } > > > > However, ISTR that many more were related to the following pattern: > { > ... > foo = proto_tree_add_item(...); > offset += ...; > foo = proto_tree_add_item(...); > ... > } > > Others were real bugs (such doing 'foo=proto_item_add_subtree()' and then > failing to use the returned value in following 'proto_tree_add_item()' > calls. > > At some point I stopped fixing "Coverity [unused]" even though ISTR that > were (at least a few) more "unused" defects yet to be fixed. > > Some time later I started working on the GCC 4.6 "set-but-unused" warnings. > > I now see (after doing a little research) that it appears that the "unused" > defects found by Coverity were only a subset of the "unused-but-set" cases > found by GCC 4.6. > > I don't know what the pattern is for things not found by Coverity but I do > note that many cases like the following weren't found by Coverity: > > { > ... > int foo; > ... > foo = ...; > ... > } > > > In any case: Since much of the "Coverity [unused"" dissector cases have > already been fixed, much of the remaining (non-generated) dissector > "set-but-not-used" cases seem to be for stuff not found by "Coverity > [unused]". > > (See SVN #37716 for many examples of this type of fix). > > > > ______________________________**______________________________** > _______________ > Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> > Archives: > http://www.wireshark.org/**lists/wireshark-dev<http://www.wireshark.org/lists/wireshark-dev> > Unsubscribe: > https://wireshark.org/mailman/**options/wireshark-dev<https://wireshark.org/mailman/options/wireshark-dev> > > mailto:wireshark-dev-request@**wireshark.org<wireshark-dev-requ...@wireshark.org> > ?subject=**unsubscribe >
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe