Wireshark-bugs: [Wireshark-bugs] [Bug 4412] New: packet-dhcpv6.c dissector error parsing ORO sub

Date: Wed, 20 Jan 2010 07:51:52 -0800 (PST)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4412

           Summary: packet-dhcpv6.c dissector error parsing ORO suboption
           Product: Wireshark
           Version: SVN
          Platform: Other
        OS/Version: Ubuntu
            Status: NEW
          Severity: Minor
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: alexandre.forget@xxxxxxxxxxxxx


Created an attachment (id=4160)
 --> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=4160)
Screenshot with unrecognized suboptions

Build Information:
Version 1.3.3 (SVN Rev 31592 from /trunk)

Copyright 1998-2010 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.18.3, with GLib 2.22.3, with libpcap 1.0.0, with libz
1.2.3.3, without POSIX capabilities, without libpcre, without SMI, without
c-ares, without ADNS, without Lua, without Python, without GnuTLS, without
Gcrypt, without Kerberos, without GeoIP, without PortAudio, without AirPcap,
with new_packet_list.

Running on Linux 2.6.31-17-generic, with libpcap version 1.0.0.

Built using gcc 4.4.1.
--
This is similar to bug 3987. Hopefully not a duplicate. 

When parsing a dhcpv6 packet, the ORO suboption (option request option) has an
offset error and the rest of the cablelabs dhcpv6 suboptions are not parsed. 

An error is present in the subroutine for opt_len. 
in v1.2.5 the code reads
case CL_OPTION_ORO :
  field_len = 2;
  opt_len = tlv_len * field_len;
[...]

but should read
case CL_OPTION_ORO :
  field_len = 2;
  opt_len = tlv_len;
[...]

attached are before and after screenshots, and a capture.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.