Wireshark-bugs: [Wireshark-bugs] [Bug 7160] New: Offset moves too far when dissecting an Informa
Date: Fri, 20 Apr 2012 03:34:04 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7160

           Summary: Offset moves too far when dissecting an Information
                    OAMPDU with Organization Specific TLV
           Product: Wireshark
           Version: SVN
          Platform: x86
        OS/Version: Windows 7
            Status: NEW
          Severity: Minor
          Priority: Low
         Component: Wireshark
        AssignedTo: bugzilla-admin@xxxxxxxxxxxxx
        ReportedBy: mateo13@xxxxxxxxx


Created attachment 8281
  --> https://bugs.wireshark.org/bugzilla/attachment.cgi?id=8281
OAM packet with OrgSpecific TLVs

Build Information:
Version 1.7.2MattsOAMFix (SVN Rev 42142 from /trunk)

Copyright 1998-2012 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 (32-bit) with GTK+ 2.24.10, with Cairo 1.10.2, with Pango 1.29.4, with
GLib 2.28.8, with WinPcap (4_1_2), with libz 1.2.5, without POSIX capabilities,
with SMI 0.4.8, with c-ares 1.7.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 Apr 20 2012), with AirPcap.

Running on 32-bit Windows 7 Service Pack 1, build 7601, with WinPcap version
4.1.1 (packet.dll version 4.1.0.1753), based on libpcap version 1.0 branch
1_0_rel0b (20091008), GnuTLS 2.12.18, Gcrypt 1.4.6, without AirPcap.

Built using Microsoft Visual C++ 9.0 build 30729

Wireshark is Open Source Software released under the GNU General Public
License.

Check the man page and http://www.wireshark.org for more information.
--
When dissecting an Information OAMPDU with Organization Specific TLVs the
offset is moved the length specified in the TLV minus 2 when it should be moved
forward the specified length - 5.  

The length value in the TLV is the total length of the TLV including the type,
length and OUI fields.  Since these fields have already been processed in the
dissector, the lengths of those fields should be subtracted from the TLV length
before adding that length to the offset.

Attached is a capture of a packet that exhibits the behavior and a patch to fix
it.

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