Re: Assertion error
"Jim Fan" <[email protected]> Wed, 21 Jun 2006 08:34:13 -0700
| Newsgroups | gmane.network.ethereal.devel |
|---|---|
| Message-ID | <[email protected]> |
It turned out to be one of the fields was redefined in the hf_register_info structure, thanks for the direction Jeff. On 6/20/06, Jeff Morriss <[email protected]> wrote: > > > [FYI, Wireshark-dev is probably a better place to ask such questions > now...] > > Jim Fan wrote: > > Hi, I am getting an error in one of the packets I am decoding: > > > > dissector bug, protocol xxx: proto.c:2742 Failed assertion > > "(guint)hfIndex < gpa_hfInfo.len" > > > > I found that this could be related to the limitation of how many header > > fields can a protocol have. 200 is the default value. In my case I have > > over 200 header fields (approximately 260), therefore any header fields > > that is after the 200th are reported as assertion error. Ethereal should > > have the ability of dynamically increases the memory allocation on the > > go based on the dissector definition, but somehow I am getting this > > error here. > > > > Anyone has any idea about how to fix this problem? > > The header fields are dynamically allocated--by the dissector, no less. > Are they all being registered in 'proto_register_field_array()'? Are > you sure you don't have something wrong with your 'hf_register_info' > array (maybe around the 200th entry) that causes > 'proto_register_field_array()' to not read the whole array? > > As an example, packet-h245.c has a few more than 200 header fields: > > > mozart [~/Projects/wireshark/source/]> egrep -c "^static int hf" > epan/dissectors/packet-h245.c > > 1375 > _______________________________________________ > Ethereal-dev mailing list > [email protected] > http://www.ethereal.com/mailman/listinfo/ethereal-dev > _______________________________________________ Ethereal-dev mailing list [email protected] http://www.ethereal.com/mailman/listinfo/ethereal-dev