Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 1376] New: payload missing when interprete mpeg2ts packet

Date: Fri, 16 Feb 2007 02:01:36 +0000 (GMT)
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1376

           Summary: payload missing when interprete mpeg2ts packet with
                    adaptation field
           Product: Wireshark
           Version: 0.99.5
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: sio4@xxxxxxxxxxxx


Build Information:
Compiled with GTK+ 2.10.8, with GLib 2.12.9, with libpcap 0.9.4, with libz
1.2.3, with libpcre 6.6, with Net-SNMP 5.3.1, without ADNS, without Lua, with
GnuTLS 1.4.1, with Gcrypt 1.2.3, with MIT Kerberos, without PortAudio, without
AirPcap.

Running on Linux 2.6.18-1.2869.fc6, with libpcap version 0.9.4.

Built using gcc 4.1.1 20070105 (Red Hat 4.1.1-51).

--
Please execuse my poor English.

When I capture RTP stream, and apply "decode as..." RTP, wireshark show me TS
packets inside RTP. but some interpretation of TS packet is invalid.

when ts packet carried adaptation field and payload, it must handle both of
adaptation field and payload. but decoder ignore payload.

in this situation, inside of ts structure, 'adaptation_field_control' value is
3, by "0x02 | 0x01". 0x02 is 'has adaptation field' and 0x01 is 'has payload'.
so it must interpreted as bit, not value.

epan/dissectors/packet-mp2t.c line 390+3 is point of problem. it treat afc as
value.

below is my patch but is there no attachment field? (i'm first time using
bugzilla.)


--- wireshark-0.99.5/epan/dissectors/packet-mp2t.c.orig 2007-02-14
12:47:19.0000
00000 +0900
+++ wireshark-0.99.5/epan/dissectors/packet-mp2t.c      2007-02-14
13:06:22.0000
00000 +0900
@@ -390,7 +390,7 @@
                }
        }

-       if (afc == 0 || afc == 1) {
+       if (afc == 0 || (afc & 0x1)) {
                gint payload_len;

                payload_len = MP2T_PACKET_SIZE - (offset - start_offset);


-- 
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.