Wireshark-bugs: [Wireshark-bugs] [Bug 1934] New: GIOP 1.1 Fragments incorrectly dissected
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1934
Summary: GIOP 1.1 Fragments incorrectly dissected
Product: Wireshark
Version: 0.99.5
Platform: All
OS/Version: NetBSD
Status: NEW
Severity: Normal
Priority: Low
Component: Wireshark
AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
ReportedBy: steve@xxxxxxxxxxxxx
Build Information:
wireshark 0.99.5
Copyright 1998-2007 Gerald Combs <gerald@xxxxxxxxxxxxx> 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 with GTK+ 2.10.13, with GLib 2.12.12, with libpcap 0.8.3, with libz
1.1.4, with libpcre 7.1, with Net-SNMP 5.4, without ADNS, without Lua, with
GnuTLS 1.6.3, with Gcrypt 1.2.4, without Kerberos, without PortAudio, without
AirPcap.
Running on NetBSD 3.1, with libpcap version 0.8.3.
Built using gcc 3.3.3 (NetBSD nb3 20040520).
--
The GIOP Fragment message type was added as of GIOP 1.1. However the Fragment
message header (containing a request id) was only added as of GIOP 1.2. The
GIOP Fragment dissector incorrectly attempts to process the request id for a
version 1.1 request.
To fix add a version check to the dissect_giop_fragment function in
packet-giop.c:
static void
dissect_giop_fragment( tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
MessageHeader * header, gboolean stream_is_big_endian)
{
guint32 offset = 0;
proto_tree *fragment_tree = NULL;
proto_item *tf;
if (tree)
{
tf = proto_tree_add_text (tree, tvb, offset, -1,
"General Inter-ORB Fragment");
if (fragment_tree == NULL)
{
fragment_tree = proto_item_add_subtree (tf, ett_giop_fragment);
}
}
if (header->GIOP_version.minor > 1)
{
guint32 request_id;
request_id = get_CDR_ulong(tvb, &offset,
stream_is_big_endian,GIOP_HEADER_SI
ZE);
if (check_col(pinfo->cinfo, COL_INFO))
{
col_append_fstr(pinfo->cinfo, COL_INFO, " %u", request_id);
}
if (fragment_tree )
{
proto_tree_add_uint (fragment_tree, hf_giop_req_id, tvb, offset-4,
4,reque
st_id);
}
}
}
Note: This function now takes an additional MessageHeader argument.
--
Configure bugmail: http://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.