Ethereal-dev: Re: [Ethereal-dev] Crash filtering on proto==smb

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Gilbert Ramirez <gram@xxxxxxxxxxxxxxx>
Date: Sun, 22 Feb 2004 03:05:34 -0000
On Sat, 2004-02-21 at 02:54, Guy Harris wrote:
> On Sat, Feb 21, 2004 at 12:21:23AM -0800, Richard Sharpe wrote:
> > If I bring up Ethereal on a capture file, and enter 'proto==smb' into the 
> > filter TE, and click apply, I get the following assert:
> > 
> >  ./ethereal -n ~/netbench_1.cap
> >  
> > ** ERROR **: file ftypes.c: line 464 (fvalue_eq): assertion failed: 
> > (a->ftype->cmp_eq)
> > aborting...
> > Abort trap (core dumped)
> 
> 	proto == smb
> 
> is equivalent to
> 
> 	smb == "proto"
> 
> and I guess the semantic checker in the display filter compiler
> concludes that 'smb', which presumably refers to all the data in the SMB
> item for the protocol tree, can be compared with a string - but the
> display filter virtual machine disagrees.
> 

A fix to avoid the assertion has been checked in. Eventually a change to
allow FT_PROTOCOLs to participate in ==, !=, etc., needs to be put in.

--gilbert