Wireshark-bugs: [Wireshark-bugs] [Bug 8979] New: Comparing function call and a range in the filt

Date: Fri, 26 Jul 2013 08:16:24 +0000
Bug ID 8979
Summary Comparing function call and a range in the filter crashes Wireshark
Classification Unclassified
Product Wireshark
Version 1.10.0
Hardware All
OS All
Status UNCONFIRMED
Severity Normal
Priority Low
Component Dissection engine (libwireshark)
Assignee [email protected]
Reporter [email protected]

Build Information:
Version 1.10.0 (SVN Rev 49790 from /trunk-1.10)

Copyright 1998-2013 Gerald Combs <[email protected]> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (32-bit) with GTK+ 2.24.14, with Cairo 1.10.2, with Pango 1.30.1, with
GLib 2.34.1, with WinPcap (4_1_3), with libz 1.2.5, without POSIX capabilities,
without libnl, with SMI 0.4.8, with c-ares 1.9.1, with Lua 5.1, without Python,
with GnuTLS 2.12.18, with Gcrypt 1.4.6, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Jun  5 2013), with AirPcap.

Running on 32-bit Windows 7, build 7600, with WinPcap version 4.1.3 (packet.dll
version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008),
GnuTLS 2.12.18, Gcrypt 1.4.6, without AirPcap.
AMD Phenom(tm) II X3 710 Processor, with 3327MB of physical memory.


Built using Microsoft Visual C++ 10.0 build 40219
--
As soon as the filter comparing function call with a range, for example
"lower(http.location)==http.location[0:4]" (in that order), is entered to the
filter string, Wireshark crashes.

Cause:
semcheck.c, line 1063 (check_relation_LHS_FUNCTION function):
..
sttype_range_set1(new_st, st_arg1, rn);
..
here, st_arg1 is the node of type STTYPE_FUNCTION

sttype_range_set calls sttype_range_set, which assumes its second argument to
be of type STTYPE_FIELD.

sttype_range.c, line 106 (sttype_range_set function):
..
range->hfinfo = (header_field_info *)stnode_data(field);
..

So, the new node of type STTYPE_RANGE contains pointer to the bogus
header_field_info, which causes crash later, in the code generation phase.


You are receiving this mail because:
  • You are watching all bug changes.