harshas wrote:
I have a problem in display filters. Whenever I apply a display filter
for the packets say (frame.number >= 12 && frame.number <-=100) I will
get the filtered packets on the screen but with different packet info.
The value of the packet info will be different.
Some dissector in Ethereal (whether it's one of the ones that comes with
Ethereal or one you've added, perhaps one you've written) is probably
doing something such as
if (tree) {
...
if (check_col(pinfo->cinfo, COL_INFO))
col_add_fstr(pinfo->cinfo, COL_INFO, ...);
...
}
The "col_add_", "col_set", and "col_append" calls should *NEVER* be
called inside an "if (tree)" or "if (tree != NULL)" test - they should
be called *regardless* of whether the "tree" argument is null or not.
In addition, any routines that call those "col_" routines and that are
called by the main dissector routine should be called regardless of
whether the "tree" argument is null or not.