Wireshark-bugs: [Wireshark-bugs] [Bug 5214] New: GSM: Cell Channel Description, range 1024 forma

Date: Tue, 14 Sep 2010 06:55:46 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5214

           Summary: GSM: Cell Channel Description, range 1024 format
           Product: Wireshark
           Version: 1.5.x (Experimental)
          Platform: x86
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: TShark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: vincent.helfre@xxxxxxx


Build Information:
Version 1.5.0 (SVN Rev 33771 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.16.6, (32-bit) with GLib 2.22.4, with WinPcap (version
unknown), with libz 1.2.3, without POSIX capabilities, without libpcre, with
SMI
0.4.8, with c-ares 1.7.1, with Lua 5.1, without Python, with GnuTLS 2.8.5, with
Gcrypt 1.4.5, with MIT Kerberos, with GeoIP, with PortAudio V19-devel (built
Aug
16 2010), with AirPcap.

Running on Windows XP Service Pack 3, build 2600, with WinPcap version 4.1.2
(packet.dll version 4.1.0.2001), based on libpcap version 1.0 branch 1_0_rel0b
(20091008), GnuTLS 2.8.5, Gcrypt 1.4.5, 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.
--
There is a small error in the packet-gsm_a_rr.c Revision 33692, which results
in incorrect decoding of List of ARFCN in BCCH frequency list.
When the range 1024 is selected, it can happen that 2 bytes need to be read for
W1, and also for W2. In the current version, when W1 ends on a byte boundary,
W2 will get an incorrect value, since it will be truncated by 1 bit.
The fix is very simple: Replace line 885
        if (wsize > wbits) {             /* need to extract more bits from the
next octet */

with:
        while (wsize > wbits) {             /* need to extract more bits from
the next octet */

An example of SI2bis decoding is:
06 02 87 f7 fb 02 3e ff 41 40 00 00 00 00 00 00 00 00 41 00 00 2b
This should result in 
List of ARFCNs = 0 1000 1005 1010 1015 1020 1023

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