diff options
author | morriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-05-27 01:57:33 +0000 |
---|---|---|
committer | morriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-05-27 01:57:33 +0000 |
commit | f4572c702f3a4b7776a9596366a8652b33412a14 (patch) | |
tree | 5f853f8d5a3726dec98475450aeb995c8fd891f3 | |
parent | d23375efe98f94a07c169ec5e4ba9a6312c07b7c (diff) |
Treat TVBs as opaque: use the accessor functions instead of accessing the fields
directly.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@37420 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | asn1/gsm_map/gsm_map.cnf | 136 | ||||
-rw-r--r-- | epan/dissectors/packet-aim-messaging.c | 86 | ||||
-rw-r--r-- | epan/dissectors/packet-ansi_637.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-dcm.c | 13 | ||||
-rw-r--r-- | epan/dissectors/packet-etch.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_map.c | 116 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_sms.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-http.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-infiniband.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-lsc.c | 36 | ||||
-rw-r--r-- | epan/dissectors/packet-ntlmssp.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-sebek.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-smb.c | 27 | ||||
-rw-r--r-- | epan/dissectors/packet-smpp.c | 2 |
14 files changed, 226 insertions, 216 deletions
diff --git a/asn1/gsm_map/gsm_map.cnf b/asn1/gsm_map/gsm_map.cnf index 07c597fbf8..547915b2c8 100644 --- a/asn1/gsm_map/gsm_map.cnf +++ b/asn1/gsm_map/gsm_map.cnf @@ -1,6 +1,6 @@ #.OPT --b +-b #-d satcom #-s packet-gsm_map-tmp -k @@ -8,10 +8,10 @@ #.END #.MODULE -MAP-BS-Code gsm_map -MAP-TS-Code gsm_map -MAP-SS-Code gsm_map -MAP-ExtensionDataTypes gsm_map +MAP-BS-Code gsm_map +MAP-TS-Code gsm_map +MAP-SS-Code gsm_map +MAP-ExtensionDataTypes gsm_map MAP-CommonDataTypes gsm_map MAP-SS-DataTypes gsm_map.ss @@ -151,7 +151,7 @@ MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS" #.END #.TABLE2_BODY ERROR - { %(&errorCode)s, "%(_ident)s" }, + { %(&errorCode)s, "%(_ident)s" }, #.END @@ -172,7 +172,7 @@ MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS" #.FN_BODY GSMMAPOperationLocalvalue -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s col_append_str(actx->pinfo->cinfo, COL_INFO, gsm_map_opr_code(opcode)); col_append_fstr(actx->pinfo->cinfo, COL_INFO, " "); @@ -184,14 +184,14 @@ MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS" #.FN_PARS PrivateExtension/extId FN_VARIANT = _str VAL_PTR = &obj_id -#.FN_BODY PrivateExtension/extType +#.FN_BODY PrivateExtension/extType proto_tree_add_text(tree, tvb, offset, -1, "Extension Data"); if (obj_id){ offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree); }else{ call_dissector(data_handle, tvb, actx->pinfo, tree); offset = tvb_length_remaining(tvb,offset); - } + } #.FN_PARS AccessNetworkProtocolId @@ -243,7 +243,7 @@ MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS" if (!parameter_tvb) return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); switch (AccessNetworkProtocolId){ /* ts3G-48006 */ @@ -262,12 +262,12 @@ MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS" proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,FALSE); length = tvb_get_guint8(parameter_tvb,0); next_tvb = tvb_new_subset_remaining(parameter_tvb, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; /* ts3G-25413 */ case 2: - call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); + call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); break; default: break; @@ -382,12 +382,12 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); - if ((octet & 0x01)== 1) + if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); - - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); + + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); #.FN_BODY Ext-SS-Status VAL_PTR = ¶meter_tvb /* Note Ext-SS-Status can have more than one byte */ @@ -403,12 +403,12 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); - if ((octet & 0x01)== 1) + if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); - - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); + + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); #.END @@ -432,12 +432,12 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; tvbuff_t *parameter_tvb; int length; guint8 out_len; - /* XXX - The maximum item label length is 240. Does this really need to be 1024? + /* XXX - The maximum item label length is 240. Does this really need to be 1024? * use ep_alloc ? */ static unsigned char msgbuf[1024]; gchar *utf8_text = NULL; - GIConv cd; + GIConv cd; GError *l_conv_error = NULL; %(DEFAULT_BODY)s @@ -463,21 +463,21 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; case SMS_ENCODING_UCS2_LANG: if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv) -1) { - utf8_text = g_convert_with_iconv(parameter_tvb->real_data, length, cd, NULL, NULL, &l_conv_error); + utf8_text = g_convert_with_iconv(tvb_get_ptr(parameter_tvb, 0, length), length, cd, NULL, NULL, &l_conv_error); if(!l_conv_error) proto_tree_add_text(tree, tvb, 0, length, "USSD String: %%s", utf8_text); else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_convert_with_iconv FAILED"); g_free(utf8_text); - g_iconv_close(cd); + g_iconv_close(cd); } else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_iconv_open FAILED contact wireshark"); break; default: - break; + break; } #.FN_FTR ForwardingOptions @@ -575,35 +575,35 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; #.FN_BODY LAIFixedLength VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; - proto_tree *subtree; + tvbuff_t *parameter_tvb; + proto_tree *subtree; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) - return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength); - dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, TRUE); + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength); + dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, TRUE); -#.FN_BODY RadioResourceInformation VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; +#.FN_BODY RadioResourceInformation VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; proto_tree *subtree; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) - return offset; + if (!parameter_tvb) + return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); be_chan_type(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0); #.FN_BODY RANAP-ServiceHandover VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -613,9 +613,9 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -625,9 +625,9 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -647,7 +647,7 @@ and GSM 09.10. The Protocol ID indicates that the message or messages are accord For the coding of the messages see GSM 08.06 and GSM 08.08. */ ProtocolId = 0xffffffff; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s if (!actx->value_ptr) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo); @@ -667,7 +667,7 @@ if (!actx->value_ptr) /* Branch on tag */ switch(octet){ case 4: - /* Dissect the data part */ + /* Dissect the data part */ de_bearer_cap(actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0); /* TODO: There may be more than one IE */ break; @@ -690,8 +690,8 @@ if (!actx->value_ptr) proto_tree_add_item(subtree, hf_gsm_map_dlci, actx->value_ptr, 1,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 2,1,FALSE); next_tvb = tvb_new_subset_remaining(actx->value_ptr, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; case 3: /* gsm-BSSMAP -- Value 3 is reserved and must not be used*/ @@ -726,9 +726,9 @@ MAP interfaces guint8 length; tvbuff_t *next_tvb; proto_tree *subtree; - + ProtocolId = 0xffffffff; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s if (!actx->value_ptr) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo); @@ -748,7 +748,7 @@ if (!actx->value_ptr) /* Branch on tag */ switch(octet){ case 4: - /* Dissect the data part */ + /* Dissect the data part */ de_bearer_cap(actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0); /* TODO: There may be more than one IE */ break; @@ -771,8 +771,8 @@ if (!actx->value_ptr) proto_tree_add_item(subtree, hf_gsm_map_dlci, actx->value_ptr, 1,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 2,1,FALSE); next_tvb = tvb_new_subset_remaining(actx->value_ptr, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; case 3: /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/ @@ -794,29 +794,29 @@ if (!actx->value_ptr) break; }/*switch (ProtocolId)*/ -#.FN_BODY GlobalCellId VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; +#.FN_BODY GlobalCellId VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; proto_tree *subtree; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) - return offset; + if (!parameter_tvb) + return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); be_cell_id_aux(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0, 0); -#.FN_BODY Ext-GeographicalInformation VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; +#.FN_BODY Ext-GeographicalInformation VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; proto_tree *subtree; -%(DEFAULT_BODY)s +%(DEFAULT_BODY)s - if (!parameter_tvb) - return offset; + if (!parameter_tvb) + return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation); - dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); + dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); #---------------------------------------------------------------------------------------- #.TYPE_ATTR diff --git a/epan/dissectors/packet-aim-messaging.c b/epan/dissectors/packet-aim-messaging.c index 00e325e347..66c0a3a640 100644 --- a/epan/dissectors/packet-aim-messaging.c +++ b/epan/dissectors/packet-aim-messaging.c @@ -302,16 +302,16 @@ dissect_aim_tlv_value_rendezvous(proto_item *ti, guint16 valueid _U_, tvbuff_t * { int offset = 0; proto_tree *entry = proto_item_add_subtree(ti, ett_aim_rendezvous_data); - proto_tree_add_item(entry, hf_aim_rendezvous_msg_type, tvb, offset, 2, ENC_BIG_ENDIAN); - offset+=2; + proto_tree_add_item(entry, hf_aim_rendezvous_msg_type, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; - proto_tree_add_item(entry, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); + proto_tree_add_item(entry, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset += 8; offset = dissect_aim_capability(entry, tvb, offset); return dissect_aim_tlv_sequence(tvb, pinfo, offset, entry, - aim_rendezvous_tlvs); + aim_rendezvous_tlvs); } static int @@ -324,20 +324,20 @@ dissect_aim_msg_outgoing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree int buddyname_length; /* ICBM Cookie */ - proto_tree_add_item(msg_tree, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); + proto_tree_add_item(msg_tree, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset += 8; /* Message Channel ID */ channel_id = tvb_get_ntohs(tvb, offset); proto_tree_add_item(msg_tree, hf_aim_message_channel_id, tvb, offset, 2, - ENC_BIG_ENDIAN); + ENC_BIG_ENDIAN); offset += 2; /* Add the outgoing username to the info column */ buddyname_length = aim_get_buddyname(buddyname, tvb, offset, offset + 1); col_append_fstr(pinfo->cinfo, COL_INFO, " to: %s", - format_text(buddyname, buddyname_length)); + format_text(buddyname, buddyname_length)); offset = dissect_aim_buddyname(tvb, pinfo, offset, msg_tree); @@ -359,7 +359,7 @@ dissect_aim_msg_incoming(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree guint16 channel_id; /* ICBM Cookie */ - proto_tree_add_item(msg_tree, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); + proto_tree_add_item(msg_tree, hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset += 8; /* Message Channel ID */ @@ -383,12 +383,12 @@ static int dissect_aim_msg_params(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *msg_tree) { int offset = 0; - proto_tree_add_item(msg_tree, hf_aim_icbm_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_icbm_msg_flags, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; - proto_tree_add_item(msg_tree, hf_aim_icbm_max_snac_size, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_icbm_max_sender_warnlevel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_icbm_max_receiver_warnlevel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_icbm_min_msg_interval, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; + proto_tree_add_item(msg_tree, hf_aim_icbm_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_msg_flags, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; + proto_tree_add_item(msg_tree, hf_aim_icbm_max_snac_size, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_max_sender_warnlevel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_max_receiver_warnlevel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_min_msg_interval, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; return offset; } @@ -396,7 +396,7 @@ static int dissect_aim_msg_evil_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree) { int offset = 0; - proto_tree_add_item(msg_tree, hf_aim_icbm_evil, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_evil, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; return dissect_aim_buddyname(tvb, pinfo, offset, msg_tree); } @@ -405,8 +405,8 @@ static int dissect_aim_msg_evil_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *msg_tree) { int offset = 0; - proto_tree_add_item(msg_tree, hf_aim_evil_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_evil_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; return offset; } @@ -414,10 +414,10 @@ static int dissect_aim_msg_minityping(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree) { int offset = 0; - proto_tree_add_item(msg_tree,hf_aim_icbm_notification_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; - proto_tree_add_item(msg_tree,hf_aim_icbm_notification_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree,hf_aim_icbm_notification_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; + proto_tree_add_item(msg_tree,hf_aim_icbm_notification_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; offset = dissect_aim_buddyname(tvb, pinfo, offset, msg_tree); - proto_tree_add_item(msg_tree,hf_aim_icbm_notification_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree,hf_aim_icbm_notification_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; return offset; } @@ -430,11 +430,11 @@ typedef struct _aim_client_plugin static const aim_client_plugin known_client_plugins[] = { { "None", {0x0, 0x0, 0x0, - {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}}, + {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}}, { "Status Manager", {0xD140CF10, 0xE94F, 0x11D3, - {0xBC, 0xD2, 0x00, 0x04, 0xAC, 0x96, 0xDD, 0x96}}}, + {0xBC, 0xD2, 0x00, 0x04, 0xAC, 0x96, 0xDD, 0x96}}}, { NULL, {0x0, 0x0, 0x0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } } } }; @@ -475,7 +475,7 @@ dissect_aim_plugin(proto_tree *entry, tvbuff_t *tvb, int offset, e_uuid_t* out_p plugin ? plugin->name:"Unknown", uuid.Data1, uuid.Data2, uuid.Data3, uuid.Data4[0], uuid.Data4[1], uuid.Data4[2], uuid.Data4[3], uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], - uuid.Data4[7] + uuid.Data4[7] ); return offset+16; @@ -493,7 +493,7 @@ dissect_aim_rendezvous_extended_message(tvbuff_t *tvb, proto_tree *msg_tree) /* TODO: parse and present message_type */ /* message_type = tvb_get_guint8(tvb, offset); */ - proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_type, tvb, offset, 1, ENC_BIG_ENDIAN); offset+=1; + proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_type, tvb, offset, 1, ENC_BIG_ENDIAN); offset+=1; message_flags = tvb_get_guint8(tvb, offset); ti_flags = proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_flags, tvb, offset, 1, message_flags); flags_entry = proto_item_add_subtree(ti_flags, ett_aim_extended_data_message_flags); @@ -501,13 +501,13 @@ dissect_aim_rendezvous_extended_message(tvbuff_t *tvb, proto_tree *msg_tree) proto_tree_add_boolean(flags_entry, hf_aim_rendezvous_extended_data_message_flags_auto, tvb, offset, 1, message_flags); proto_tree_add_boolean(flags_entry, hf_aim_rendezvous_extended_data_message_flags_multi, tvb, offset, 1, message_flags); offset+=1; - proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_status_code, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_priority_code, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_status_code, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_priority_code, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; text_length = tvb_get_letohs(tvb, offset); - proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_text_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_text_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; text = tvb_get_ephemeral_string(tvb, offset, text_length); proto_tree_add_text(msg_tree, tvb, offset, text_length, "Text: %s", text); offset+=text_length; - offset = tvb->length; + offset = tvb_length(tvb); return offset; } @@ -543,11 +543,11 @@ dissect_aim_tlv_value_extended_data(proto_item *ti, guint16 valueid _U_, tvbuff_ start_offset = offset; /* TODO: parse and present protocol version */ /* protocol_version = tvb_get_ntohs(tvb, offset); */ - proto_tree_add_item(entry, hf_aim_icbm_client_err_protocol_version, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(entry, hf_aim_icbm_client_err_protocol_version, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; offset = dissect_aim_plugin(entry, tvb, offset, &plugin_uuid); proto_tree_add_text(entry, tvb, offset, 2, "Unknown"); offset += 2; - proto_tree_add_item(entry, hf_aim_icbm_client_err_client_caps_flags, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; + proto_tree_add_item(entry, hf_aim_icbm_client_err_client_caps_flags, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4; proto_tree_add_text(entry, tvb, offset, 1, "Unknown"); offset += 1; proto_tree_add_text(entry, tvb, offset, 2, "Downcounter?"); offset += 2; @@ -571,7 +571,7 @@ dissect_aim_tlv_value_extended_data(proto_item *ti, guint16 valueid _U_, tvbuff_ /* plugin-specific data follows */ proto_tree_add_text(entry, tvb, offset, -1, "Plugin-specific data"); } - offset = tvb->length; + offset = tvb_length(tvb); return offset; } @@ -581,7 +581,7 @@ dissect_aim_msg_ack(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree) { int offset = 0; - proto_tree_add_item(msg_tree,hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; + proto_tree_add_item(msg_tree,hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; proto_tree_add_item(msg_tree, hf_aim_message_channel_id, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; @@ -597,29 +597,29 @@ dissect_aim_msg_client_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tr int offset = 0; guint16 channel, reason; - proto_tree_add_item(msg_tree,hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; + proto_tree_add_item(msg_tree,hf_aim_icbm_cookie, tvb, offset, 8, ENC_BIG_ENDIAN); offset+=8; channel = tvb_get_ntohs(tvb, offset); - proto_tree_add_item(msg_tree,hf_aim_icbm_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree,hf_aim_icbm_channel, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; offset = dissect_aim_buddyname(tvb, pinfo, offset, msg_tree); reason = tvb_get_ntohs(tvb, offset); - proto_tree_add_item(msg_tree, hf_aim_icbm_client_err_reason, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_client_err_reason, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; if (reason == CLIENT_ERR__REASON_CHANNEL_SPECIFIC && tvb_length_remaining(tvb, offset) > 0) { switch (channel) { case ICBM_CHANNEL_RENDEZVOUS: - proto_tree_add_item(msg_tree, hf_aim_icbm_rendezvous_nak_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; - proto_tree_add_item(msg_tree, hf_aim_icbm_rendezvous_nak, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_rendezvous_nak_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; + proto_tree_add_item(msg_tree, hf_aim_icbm_rendezvous_nak, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2; break; default: - { - tvbuff_t *subtvb = tvb_new_subset_remaining(tvb, offset); - proto_item *ti_extended_data = proto_tree_add_text(msg_tree, tvb, offset, -1, "Extended Data"); - dissect_aim_tlv_value_extended_data(ti_extended_data, 0, subtvb, pinfo); - break; - } + { + tvbuff_t *subtvb = tvb_new_subset_remaining(tvb, offset); + proto_item *ti_extended_data = proto_tree_add_text(msg_tree, tvb, offset, -1, "Extended Data"); + dissect_aim_tlv_value_extended_data(ti_extended_data, 0, subtvb, pinfo); + break; + } } } diff --git a/epan/dissectors/packet-ansi_637.c b/epan/dissectors/packet-ansi_637.c index 3c20368227..a51fee7663 100644 --- a/epan/dissectors/packet-ansi_637.c +++ b/epan/dissectors/packet-ansi_637.c @@ -733,7 +733,7 @@ tele_param_user_data(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset) if ((cd = g_iconv_open("UTF-8","iso-8859-8")) != (GIConv)-1) { - utf8_text = g_convert_with_iconv(tvb->real_data + offset, num_fields , cd , NULL , NULL , &l_conv_error); + utf8_text = g_convert_with_iconv(tvb_get_ptr(tvb, offset, num_fields), num_fields , cd , NULL , NULL , &l_conv_error); if(!l_conv_error) { proto_tree_add_text(tree, tvb, offset, num_fields, "Encoded user data: %s", utf8_text); diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c index 2e5691c38f..33a8958067 100644 --- a/epan/dissectors/packet-dcm.c +++ b/epan/dissectors/packet-dcm.c @@ -5146,11 +5146,11 @@ dissect_dcm_pdv_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* Create PDV structure: Since we can have multiple PDV per packet (offset) and - multiple merged packets per PDV (tvb->raw_offset) + multiple merged packets per PDV (the tvb raw_offset) we need both values to uniquely identify a PDV */ - *pdv = dcm_state_pdv_get(pctx, pinfo->fd->num, tvb->raw_offset+offset, TRUE); + *pdv = dcm_state_pdv_get(pctx, pinfo->fd->num, TVB_RAW_OFFSET(tvb)+offset, TRUE); if (*pdv == NULL) { return 0; /* Failed to allocate memory */ } @@ -6280,6 +6280,7 @@ dissect_dcm_pdv_fragmented(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += pdv_body_len; } else { + guint next_tvb_length = tvb_length(next_tvb); /* Decode reassembled data */ if (tree || have_tap_listener(dicom_eo_tap)) { @@ -6289,15 +6290,15 @@ dissect_dcm_pdv_fragmented(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, i.e Class & Instance UID, so the export dialog has all information and that the dicome header is complete */ - offset += dissect_dcm_pdv_body(next_tvb, pinfo, tree, pdv, 0, next_tvb->length, pdv_description); + offset += dissect_dcm_pdv_body(next_tvb, pinfo, tree, pdv, 0, next_tvb_length, pdv_description); } if (have_tap_listener(dicom_eo_tap)) { /* Copy pure DICOM data to buffer, no PDV flags */ - pdv->data = g_malloc(next_tvb->length); /* will be freed in dcm_export_create_object() */ - tvb_memcpy(next_tvb, pdv->data, 0, next_tvb->length); - pdv->data_len = next_tvb->length; + pdv->data = g_malloc(next_tvb_length); /* will be freed in dcm_export_create_object() */ + tvb_memcpy(next_tvb, pdv->data, 0, next_tvb_length); + pdv->data_len = next_tvb_length; /* Copy to export buffer */ dcm_export_create_object(pinfo, assoc, pdv); diff --git a/epan/dissectors/packet-etch.c b/epan/dissectors/packet-etch.c index 875736faab..69885ef972 100644 --- a/epan/dissectors/packet-etch.c +++ b/epan/dissectors/packet-etch.c @@ -610,7 +610,7 @@ read_struct(unsigned int *offset, tvbuff_t *tvb, proto_tree *etch_tree, int i; ti = proto_tree_add_item(etch_tree, hf_etch_struct, tvb, *offset, - tvb->length - *offset, ENC_NA); + tvb_length(tvb) - *offset, ENC_NA); new_tree = proto_item_add_subtree(ti, ett_etch_struct); if (add_type_field) { diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index 5d1ae52494..6a12c77a95 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -2856,7 +2856,7 @@ dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs }else{ call_dissector(data_handle, tvb, actx->pinfo, tree); offset = tvb_length_remaining(tvb,offset); - } + } @@ -3104,11 +3104,11 @@ MAP interfaces guint8 length; tvbuff_t *next_tvb; proto_tree *subtree; - + ProtocolId = 0xffffffff; offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo); - + if (!actx->value_ptr) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo); @@ -3128,7 +3128,7 @@ if (!actx->value_ptr) /* Branch on tag */ switch(octet){ case 4: - /* Dissect the data part */ + /* Dissect the data part */ de_bearer_cap(actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0); /* TODO: There may be more than one IE */ break; @@ -3151,8 +3151,8 @@ if (!actx->value_ptr) proto_tree_add_item(subtree, hf_gsm_map_dlci, actx->value_ptr, 1,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 2,1,FALSE); next_tvb = tvb_new_subset_remaining(actx->value_ptr, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; case 3: /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/ @@ -3246,7 +3246,7 @@ dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int if (!parameter_tvb) return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); switch (AccessNetworkProtocolId){ /* ts3G-48006 */ @@ -3265,12 +3265,12 @@ dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,FALSE); length = tvb_get_guint8(parameter_tvb,0); next_tvb = tvb_new_subset_remaining(parameter_tvb, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; /* ts3G-25413 */ case 2: - call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); + call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); break; default: break; @@ -3453,17 +3453,17 @@ dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse int dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 798 "../../asn1/gsm_map/gsm_map.cnf" - tvbuff_t *parameter_tvb; + tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) - return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); be_cell_id_aux(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0, 0); @@ -3721,17 +3721,17 @@ int dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 577 "../../asn1/gsm_map/gsm_map.cnf" - tvbuff_t *parameter_tvb; - proto_tree *subtree; + tvbuff_t *parameter_tvb; + proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) - return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength); - dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, TRUE); + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength); + dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, TRUE); @@ -3861,12 +3861,12 @@ dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); - if ((octet & 0x01)== 1) + if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); - - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); + + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); @@ -3993,12 +3993,12 @@ dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); - if ((octet & 0x01)== 1) + if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); - - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); - proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); + + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); + proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); @@ -4362,12 +4362,12 @@ dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int tvbuff_t *parameter_tvb; int length; guint8 out_len; - /* XXX - The maximum item label length is 240. Does this really need to be 1024? + /* XXX - The maximum item label length is 240. Does this really need to be 1024? * use ep_alloc ? */ static unsigned char msgbuf[1024]; gchar *utf8_text = NULL; - GIConv cd; + GIConv cd; GError *l_conv_error = NULL; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -4395,21 +4395,21 @@ dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int case SMS_ENCODING_UCS2_LANG: if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv) -1) { - utf8_text = g_convert_with_iconv(parameter_tvb->real_data, length, cd, NULL, NULL, &l_conv_error); + utf8_text = g_convert_with_iconv(tvb_get_ptr(parameter_tvb, 0, length), length, cd, NULL, NULL, &l_conv_error); if(!l_conv_error) proto_tree_add_text(tree, tvb, 0, length, "USSD String: %s", utf8_text); else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_convert_with_iconv FAILED"); g_free(utf8_text); - g_iconv_close(cd); + g_iconv_close(cd); } else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_iconv_open FAILED contact wireshark"); break; default: - break; + break; } @@ -7723,9 +7723,9 @@ dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvb offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) + + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -7746,9 +7746,9 @@ dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tv offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) + + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -7826,17 +7826,17 @@ dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *t static int dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 589 "../../asn1/gsm_map/gsm_map.cnf" - tvbuff_t *parameter_tvb; + tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) - return offset; - subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); be_chan_type(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0); @@ -7902,9 +7902,9 @@ dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tv offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) + + if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); @@ -13934,18 +13934,18 @@ dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvb int dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 810 "../../asn1/gsm_map/gsm_map.cnf" - tvbuff_t *parameter_tvb; + tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); - - if (!parameter_tvb) - return offset; + + if (!parameter_tvb) + return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation); - dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); + dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); @@ -14895,7 +14895,7 @@ dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *t offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &opcode); - + col_append_str(actx->pinfo->cinfo, COL_INFO, gsm_map_opr_code(opcode)); col_append_fstr(actx->pinfo->cinfo, COL_INFO, " "); @@ -15348,7 +15348,7 @@ For the coding of the messages see GSM 08.06 and GSM 08.08. ProtocolId = 0xffffffff; offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_Bss_APDU_sequence, hf_index, ett_gsm_old_Bss_APDU); - + if (!actx->value_ptr) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo); @@ -15368,7 +15368,7 @@ if (!actx->value_ptr) /* Branch on tag */ switch(octet){ case 4: - /* Dissect the data part */ + /* Dissect the data part */ de_bearer_cap(actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0); /* TODO: There may be more than one IE */ break; @@ -15391,8 +15391,8 @@ if (!actx->value_ptr) proto_tree_add_item(subtree, hf_gsm_map_dlci, actx->value_ptr, 1,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 2,1,FALSE); next_tvb = tvb_new_subset_remaining(actx->value_ptr, 3); - call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); - } + call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); + } break; case 3: /* gsm-BSSMAP -- Value 3 is reserved and must not be used*/ diff --git a/epan/dissectors/packet-gsm_sms.c b/epan/dissectors/packet-gsm_sms.c index e0eee73df5..c6af50821d 100644 --- a/epan/dissectors/packet-gsm_sms.c +++ b/epan/dissectors/packet-gsm_sms.c @@ -2695,7 +2695,7 @@ dis_field_ud(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint32 length, gb */ out_len = 0; - total_sms_len = sm_tvb->length; + total_sms_len = tvb_length(sm_tvb); for(i = 0 ; i < g_frags; i++) { /* maximum len msg in 7 bit with csm8 header*/ @@ -2739,10 +2739,12 @@ dis_field_ud(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint32 length, gb { if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv)-1) { + guint8 rep_len = tvb_reported_length(sm_tvb); + if(!(reassembled && g_pinfo->fd->num == reassembled_in)) { /* Show unreassembled SMS */ - utf8_text = g_convert_with_iconv(sm_tvb->real_data, sm_tvb->reported_length , cd , NULL , NULL , &l_conv_error); + utf8_text = g_convert_with_iconv(tvb_get_ptr(sm_tvb, 0, rep_len), rep_len , cd , NULL , NULL , &l_conv_error); if(!l_conv_error) { /* XXX - using proto_tree_add_string() doesn't work */ ucs2_item = proto_tree_add_string_format_value(subtree, hf_gsm_sms_text, tvb, @@ -2756,7 +2758,7 @@ dis_field_ud(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint32 length, gb * so that the text doesn't get truncated when we add it to * the tree. */ - utf8_text = g_convert_with_iconv(sm_tvb->real_data, sm_tvb->reported_length , cd , NULL , NULL , &l_conv_error); + utf8_text = g_convert_with_iconv(tvb_get_ptr(sm_tvb, 0, rep_len), rep_len , cd , NULL , NULL , &l_conv_error); if(!l_conv_error) { len_sms = (int)strlen(utf8_text); diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c index 317a74e581..71f1151d94 100644 --- a/epan/dissectors/packet-http.c +++ b/epan/dissectors/packet-http.c @@ -1179,8 +1179,8 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo, eo_info->hostname = conv_data->http_host; eo_info->filename = conv_data->request_uri; eo_info->content_type = headers.content_type; - eo_info->payload_len = next_tvb->length; - eo_info->payload_data = next_tvb->real_data; + eo_info->payload_len = tvb_length(next_tvb); + eo_info->payload_data = tvb_get_ptr(next_tvb, 0, eo_info->payload_len); tap_queue_packet(http_eo_tap, pinfo, eo_info); } diff --git a/epan/dissectors/packet-infiniband.c b/epan/dissectors/packet-infiniband.c index a82c144f5e..75dd567d55 100644 --- a/epan/dissectors/packet-infiniband.c +++ b/epan/dissectors/packet-infiniband.c @@ -1618,7 +1618,7 @@ dissect_infiniband_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g gint32 nextHeaderSequence = -1; /* defined by this dissector. #define which indicates the upcoming header sequence from OpCode */ guint16 payloadLength = 0; /* Payload Length should it exist */ guint8 nxtHdr = 0; /* Keyed off for header dissection order */ - guint16 packetLength = 0; /* Packet Length. We track this as tvb->length - offset. */ + guint16 packetLength = 0; /* Packet Length. We track this as tvb_length - offset. */ /* It provides the parsing methods a known size */ /* that must be available for that header. */ struct e_in6_addr SRCgid; /* Structures to hold GIDs should we need them */ @@ -2479,7 +2479,7 @@ static void parse_PAYLOAD(proto_tree *parentTree, packet_info *pinfo, tvbuff_t * { /* Calculation for Payload: - * (tvb->length) Length of entire packet - (local_offset) Starting byte of Payload Data + * (tvb_length) Length of entire packet - (local_offset) Starting byte of Payload Data * offset addition is more complex for the payload. * We need the total length of the packet, - length of previous headers, + offset where payload started. * We also need to reserve 6 bytes for the CRCs which are not actually part of the payload. */ diff --git a/epan/dissectors/packet-lsc.c b/epan/dissectors/packet-lsc.c index c578022d48..d725dd981a 100644 --- a/epan/dissectors/packet-lsc.c +++ b/epan/dissectors/packet-lsc.c @@ -152,7 +152,7 @@ dissect_lsc_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) col_clear(pinfo->cinfo, COL_INFO); /* Too little data? */ - if (tvb->length < LSC_MIN_LEN) + if (tvb_length(tvb) < LSC_MIN_LEN) { col_set_str(pinfo->cinfo, COL_INFO, "[Too short]"); return; @@ -205,9 +205,9 @@ dissect_lsc_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) val_to_str(op_code, op_code_vals, "Unknown op code (0x%x)"), stream); - if (tvb->length < expected_len) + if (tvb_length(tvb) < expected_len) col_append_str(pinfo->cinfo, COL_INFO, " [Too short]"); - else if (tvb->length > expected_len) + else if (tvb_length(tvb) > expected_len) col_append_str(pinfo->cinfo, COL_INFO, " [Too long]"); } @@ -346,64 +346,64 @@ dissect_lsc_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Register the protocol with Wireshark */ void proto_register_lsc(void) -{ +{ module_t *lsc_module; /* Setup list of header fields */ static hf_register_info hf[] = { { &hf_lsc_version, { "Version", "lsc.version", - FT_UINT8, BASE_DEC, NULL, 0, + FT_UINT8, BASE_DEC, NULL, 0, "Version of the Pegasus LSC protocol", HFILL } }, { &hf_lsc_trans_id, { "Transaction ID", "lsc.trans_id", - FT_UINT8, BASE_DEC, NULL, 0, + FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL } }, { &hf_lsc_op_code, { "Op Code", "lsc.op_code", - FT_UINT8, BASE_HEX, VALS(op_code_vals), 0, + FT_UINT8, BASE_HEX, VALS(op_code_vals), 0, "Operation Code", HFILL } }, { &hf_lsc_status_code, { "Status Code", "lsc.status_code", - FT_UINT8, BASE_HEX, VALS(status_code_vals), 0, + FT_UINT8, BASE_HEX, VALS(status_code_vals), 0, NULL, HFILL } }, { &hf_lsc_stream_handle, { "Stream Handle", "lsc.stream_handle", - FT_UINT32, BASE_DEC, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "Stream identification handle", HFILL } }, { &hf_lsc_start_npt, { "Start NPT", "lsc.start_npt", - FT_INT32, BASE_DEC, NULL, 0, + FT_INT32, BASE_DEC, NULL, 0, "Start Time (milliseconds)", HFILL } }, { &hf_lsc_stop_npt, { "Stop NPT", "lsc.stop_npt", - FT_INT32, BASE_DEC, NULL, 0, + FT_INT32, BASE_DEC, NULL, 0, "Stop Time (milliseconds)", HFILL } }, { &hf_lsc_current_npt, { "Current NPT", "lsc.current_npt", - FT_INT32, BASE_DEC, NULL, 0, + FT_INT32, BASE_DEC, NULL, 0, "Current Time (milliseconds)", HFILL } }, { &hf_lsc_scale_num, { "Scale Numerator", "lsc.scale_num", - FT_INT16, BASE_DEC, NULL, 0, + FT_INT16, BASE_DEC, NULL, 0, NULL, HFILL } }, { &hf_lsc_scale_denom, { "Scale Denominator", "lsc.scale_denum", - FT_UINT16, BASE_DEC, NULL, 0, + FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL } }, { &hf_lsc_mode, { "Server Mode", "lsc.mode", - FT_UINT8, BASE_HEX, VALS(mode_vals), 0, + FT_UINT8, BASE_HEX, VALS(mode_vals), 0, "Current Server Mode", HFILL } } }; @@ -421,10 +421,10 @@ proto_register_lsc(void) proto_register_field_array(proto_lsc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - /* Register preferences module */ + /* Register preferences module */ lsc_module = prefs_register_protocol(proto_lsc, proto_reg_handoff_lsc); - - /* Register preferences */ + + /* Register preferences */ prefs_register_uint_preference(lsc_module, "port", "LSC Port", "Set the TCP or UDP port for Pegasus LSC messages", diff --git a/epan/dissectors/packet-ntlmssp.c b/epan/dissectors/packet-ntlmssp.c index 0e61af1f72..8fcb676332 100644 --- a/epan/dissectors/packet-ntlmssp.c +++ b/epan/dissectors/packet-ntlmssp.c @@ -970,7 +970,7 @@ dissect_ntlmssp_blob (tvbuff_t *tvb, int offset, if (blob_length < MAX_BLOB_SIZE) { tvb_memcpy(tvb, result->contents, blob_offset, blob_length); - if (blob_hf == hf_ntlmssp_auth_lmresponse && !(memcmp(tvb->real_data+blob_offset+8,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",NTLMSSP_KEY_LEN))) + if (blob_hf == hf_ntlmssp_auth_lmresponse && !(tvb_memeql(tvb, blob_offset+8, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", NTLMSSP_KEY_LEN))) { proto_tree_add_item (ntlmssp_tree, hf_ntlmssp_ntlm_client_challenge, diff --git a/epan/dissectors/packet-sebek.c b/epan/dissectors/packet-sebek.c index 5c28e44be0..96f1ec73bc 100644 --- a/epan/dissectors/packet-sebek.c +++ b/epan/dissectors/packet-sebek.c @@ -136,7 +136,7 @@ dissect_sebek(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { col_set_str(pinfo->cinfo, COL_INFO, "SEBEK - "); - if (tvb->length<6) + if (tvb_length(tvb)<6) sebek_ver = 0; else sebek_ver = tvb_get_ntohs(tvb, 4); @@ -167,7 +167,7 @@ dissect_sebek(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) sebek_tree = proto_item_add_subtree(ti, ett_sebek); /* check for minimum length before deciding where to go*/ - if (tvb->length<6) + if (tvb_length(tvb)<6) sebek_ver = 0; else sebek_ver = tvb_get_ntohs(tvb, 4); diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 78318d2147..4be2a3ad17 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -6575,22 +6575,29 @@ dissect_read_andx_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (fid_info->fsi->filename) eo_info->filename = (gchar *) fid_info->fsi->filename; if(!eo_info->filename) eo_info->filename = ep_strdup_printf("\\FILEID_%i",fid); - eo_info->fid_type = fid_info->type; eo_info->end_of_file = fid_info->end_of_file; - } else { eo_info->fid_type=SMB_FID_TYPE_UNKNOWN; - eo_info->filename = ep_strdup_printf("\\FILEID_%i",fid); eo_info->end_of_file = 0; - } eo_info->fid=fid; - eo_info->tid=si->tid; eo_info->uid=si->uid; - eo_info->payload_len = datalen; eo_info->payload_data = data_tvb->real_data; - eo_info->smb_file_offset=rwi->offset; eo_info->smb_chunk_len=rwi->len; + eo_info->fid_type = fid_info->type; + eo_info->end_of_file = fid_info->end_of_file; + } else { + eo_info->fid_type=SMB_FID_TYPE_UNKNOWN; + eo_info->filename = ep_strdup_printf("\\FILEID_%i",fid); + eo_info->end_of_file = 0; + } + eo_info->fid=fid; + eo_info->tid=si->tid; + eo_info->uid=si->uid; + eo_info->payload_len = datalen; + eo_info->payload_data = tvb_get_ptr(data_tvb, 0, datalen); + eo_info->smb_file_offset=rwi->offset; + eo_info->smb_chunk_len=rwi->len; eo_info->cmd=SMB_COM_READ_ANDX; /* Queue data to the listener */ tap_queue_packet(smb_eo_tap, pinfo, eo_info); } - END_OF_SMB + END_OF_SMB - if (cmd != 0xff) { /* there is an andX command */ + if (cmd != 0xff) { /* there is an andX command */ if (andxoffset < offset) THROW(ReportedBoundsError); dissect_smb_command(tvb, pinfo, andxoffset, smb_tree, cmd, FALSE); @@ -6815,7 +6822,7 @@ d);) */ eo_info->tid=si->tid; eo_info->uid=si->uid; eo_info->payload_len = datalen; - eo_info->payload_data = data_tvb->real_data; + eo_info->payload_data = tvb_get_ptr(data_tvb, 0, datalen); eo_info->smb_file_offset=rwi->offset; eo_info->smb_chunk_len=rwi->len; eo_info->cmd=SMB_COM_WRITE_ANDX; diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c index 256694e06a..7e3a047675 100644 --- a/epan/dissectors/packet-smpp.c +++ b/epan/dissectors/packet-smpp.c @@ -2288,7 +2288,7 @@ dissect_smpp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * Create display subtree for the protocol */ if (tree) { - ti = proto_tree_add_item (tree, proto_smpp, tvb, 0, tvb->length, FALSE); + ti = proto_tree_add_item (tree, proto_smpp, tvb, 0, tvb_length(tvb), FALSE); smpp_tree = proto_item_add_subtree (ti, ett_smpp); } |