Wireshark-bugs: [Wireshark-bugs] [Bug 2617] New: Wrong display of USSD strings in the GSM 7-bit

Date: Tue, 17 Jun 2008 12:56:57 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2617

           Summary: Wrong display of USSD strings in the GSM 7-bit alphabet
                    for non-ASCII data
           Product: Wireshark
           Version: 0.99.6
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: rspmn@xxxxxxxx


Build Information:
wireshark 0.99.6

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.12.0, with GLib 2.14.1, with libpcap 0.9.7, with libz
1.2.3, with libpcre 7.2, with Net-SNMP 5.4.1, with ADNS, without Lua, without
GnuTLS, without Gcrypt, with MIT Kerberos, without PortAudio, without AirPcap.

Running on Linux 2.6.22.12-0.1-default, with libpcap version 0.9.7.

Built using gcc 4.2.1 (SUSE Linux).

--
USSD strings in the GSM 7-bit alphabet which contain non-ASCII data
(e.g. ä = adieresis) are not correctly displayed as can be seen from the
attached .pcap file (requires Decode User DLT 0 as gsm_a_dtap).
Wireshark displays the USSD string as
Ihr Wireshark Guthaben beträ????????????
instead of
Ihr Wireshark Guthaben beträgt 0042 EUR.

Suggested bugfix (patch against SVN snapshot of 2008-06-15):
use an additional bigbuf2 instead of
gsm_sms_char_ascii_decode(bigbuf, bigbuf, out_len):

--- gsmmap.cnf.~1~      Sun Apr 20 16:39:48 2008
+++ gsmmap.cnf  Tue Jun 17 19:19:27 2008
@@ -409,7 +409,7 @@
   /* XXX - The maximum item label length is 240.  Does this really need to be
1024? 
    * use ep_alloc ?
    */
-  static unsigned char bigbuf[1024];
+  static unsigned char bigbuf[1024], bigbuf2[1024];
   gchar *utf8_text = NULL;
   GIConv cd;   
   GError *l_conv_error = NULL;
@@ -427,9 +427,9 @@
                                                       bigbuf);

        bigbuf[out_len] = '\0';
-       gsm_sms_char_ascii_decode(bigbuf, bigbuf, out_len);
-       bigbuf[1023] = '\0';
-       proto_tree_add_text(tree, parameter_tvb, 0, length, "USSD String: %%s",
bigbuf);
+       gsm_sms_char_ascii_decode(bigbuf2, bigbuf, out_len);
+       bigbuf2[1023] = '\0';
+       proto_tree_add_text(tree, parameter_tvb, 0, length, "USSD String: %%s",
bigbuf2);
        break;
     case SMS_ENCODING_8BIT:
        proto_tree_add_text(tree, parameter_tvb , 0, length, "USSD String:
%%s", tvb_get_ptr(parameter_tvb, 0, length));


>From grepping over packet*.c this bug might also affect packet-sabp.c.

Regards,
Reinhard


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