diff options
author | Guy Harris <guy@alum.mit.edu> | 2005-03-03 10:23:29 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2005-03-03 10:23:29 +0000 |
commit | fa7eb4fdebd161730e93c72718f364a43ea2c068 (patch) | |
tree | 9a9e5a0f583fb0d584324b8ceab792d6685f5176 /epan/dissectors/packet-isup.c | |
parent | 8ff4e8160e93a74526f3c2564260cf6933274c38 (diff) |
From Anders Broman: fix a fault in the CODEC LIST routine where offset
was wrongly calculated, and clean up some other miscellaneous stuff.
svn path=/trunk/; revision=13580
Diffstat (limited to 'epan/dissectors/packet-isup.c')
-rw-r--r-- | epan/dissectors/packet-isup.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c index 79ea708f9c..2a9e1294b9 100644 --- a/epan/dissectors/packet-isup.c +++ b/epan/dissectors/packet-isup.c @@ -2179,7 +2179,7 @@ static value_string bat_ase_action_indicator_field_vals[] = { { 0x14, "stop signal, no notify"}, { 0x15, "start signal acknowledge"}, { 0x16, "start signal reject"}, - { 0x16, "stop signal acknowledge"}, + { 0x17, "stop signal acknowledge"}, { 0x18, "bearer redirect"}, { 0, NULL } }; @@ -2391,6 +2391,7 @@ guint8 tempdata, compatibility_info; if ( content_len > 2 ) { tempdata = tvb_get_guint8(parameter_tvb, offset); proto_tree_add_text(bat_ase_element_tree, parameter_tvb, offset, 1, "Configuration data : 0x%x", tempdata); + offset = offset + 1; } break; case G_728 : @@ -2399,13 +2400,13 @@ guint8 tempdata, compatibility_info; if ( content_len > 2 ) { tempdata = tvb_get_guint8(parameter_tvb, offset); proto_tree_add_text(bat_ase_element_tree, parameter_tvb, offset, 1 , "Configuration data : 0x%x", tempdata); + offset = offset + 1; } break; default: break; }/* switch ITU codec type*/ - offset = offset + 1; break; case ETSI: offset = offset + 1; @@ -2562,20 +2563,20 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa break; case CODEC_LIST : list_end = offset + content_len; - while ( offset < ( list_end - 1 )) { - identifier = tvb_get_guint8(parameter_tvb, offset); - offset = offset + 1; - tempdata = tvb_get_guint8(parameter_tvb, offset); - if ( tempdata & 0x80 ) { - length_indicator = tempdata & 0x7f; - } - else { - offset = offset +1; - length_indicator = tvb_get_guint8(parameter_tvb, offset); - length_indicator = length_indicator << 7; - length_indicator = length_indicator & ( tempdata & 0x7f ); - } - offset = dissect_codec(parameter_tvb, bat_ase_element_tree, length_indicator , offset, identifier); + while ( offset < ( list_end - 1 )) { + identifier = tvb_get_guint8(parameter_tvb, offset); + offset = offset + 1; + tempdata = tvb_get_guint8(parameter_tvb, offset); + if ( tempdata & 0x80 ) { + length_indicator = tempdata & 0x7f; + } + else { + offset = offset +1; + length_indicator = tvb_get_guint8(parameter_tvb, offset); + length_indicator = length_indicator << 7; + length_indicator = length_indicator & ( tempdata & 0x7f ); + } + offset = dissect_codec(parameter_tvb, bat_ase_element_tree, length_indicator , offset, identifier); } break; case CODEC : |