diff options
author | Anders Broman <anders.broman@ericsson.com> | 2008-10-23 05:56:28 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2008-10-23 05:56:28 +0000 |
commit | 9b9c51873bf68298fe3cb7508bb5a26006e0c0a1 (patch) | |
tree | ca73752540d6ae514f63a4a78f52fbcba6f22aba /asn1/ansi_map/packet-ansi_map-template.c | |
parent | befeb91d67a18fe3ae008c018f3f0e03e594ed39 (diff) |
From shmulikB:
1. ansi map fail to parser BCD digits when Numbering Plan: Telephony Numbering
(ITU-T Rec. E.164,E.163) (2)
2. fix dissector_try_port if sms-TeleserviceIdentifier RECIEVE BEFORE
sms-BearerData.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2989
svn path=/trunk/; revision=26521
Diffstat (limited to 'asn1/ansi_map/packet-ansi_map-template.c')
-rw-r--r-- | asn1/ansi_map/packet-ansi_map-template.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/asn1/ansi_map/packet-ansi_map-template.c b/asn1/ansi_map/packet-ansi_map-template.c index 81fd108743..59e0ae93fc 100644 --- a/asn1/ansi_map/packet-ansi_map-template.c +++ b/asn1/ansi_map/packet-ansi_map-template.c @@ -364,6 +364,7 @@ static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */ static packet_info *g_pinfo; static proto_tree *g_tree; tvbuff_t *SMS_BearerData_tvb = NULL; +gint32 ansi_map_sms_tele_id = -1; static gboolean is683_ota; static gboolean is801_pld; static gboolean ansi_map_is_invoke; @@ -706,7 +707,7 @@ dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre static void dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){ - guint8 octet; + guint8 octet , octet_len; guint8 b1,b2,b3,b4; int offset = 0; char *digit_str; @@ -763,9 +764,9 @@ dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */ case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */ case 7:/* Private Numbering Plan */ - octet = tvb_get_guint8(tvb,offset); + octet_len = tvb_get_guint8(tvb,offset); proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE); - if(octet == 0) + if(octet_len == 0) return; offset++; switch ((octet&0xf)){ @@ -4291,6 +4292,7 @@ dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); SMS_BearerData_tvb = NULL; + ansi_map_sms_tele_id = -1; g_pinfo = pinfo; g_tree = tree; /* |