diff options
48 files changed, 76 insertions, 102 deletions
diff --git a/asn1/c1222/packet-c1222-template.c b/asn1/c1222/packet-c1222-template.c index 1733e02bbc..ec1949ab29 100644 --- a/asn1/c1222/packet-c1222-template.c +++ b/asn1/c1222/packet-c1222-template.c @@ -907,7 +907,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_ if (len2 <= 0) return offset; buffer = (guchar *)tvb_memdup(tvb, offset, len2); - epsem_buffer = tvb_new_subset(tvb, offset, -1, -1); + epsem_buffer = tvb_new_subset_remaining(tvb, offset); if (c1222_decrypt) { if (!decrypt_packet(buffer, len2, FALSE)) { #ifdef HAVE_LIBGCRYPT @@ -923,7 +923,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_ break; default: /* it's not encrypted */ - epsem_buffer = tvb_new_subset(tvb, offset, -1, -1); + epsem_buffer = tvb_new_subset_remaining(tvb, offset); } /* it's only encrypted if we have an undecrypted payload */ if (encrypted) { diff --git a/asn1/ldap/packet-ldap-template.c b/asn1/ldap/packet-ldap-template.c index 76cbda7020..e8cd9aabdf 100644 --- a/asn1/ldap/packet-ldap-template.c +++ b/asn1/ldap/packet-ldap-template.c @@ -967,7 +967,7 @@ one_more_pdu: * same blob */ if(tvb_length_remaining(tvb, offset)>=6){ - tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1); + tvb = tvb_new_subset_remaining(tvb, offset); offset = 0; goto one_more_pdu; diff --git a/asn1/qsig/qsig.cnf b/asn1/qsig/qsig.cnf index f76e64429c..681f306b25 100644 --- a/asn1/qsig/qsig.cnf +++ b/asn1/qsig/qsig.cnf @@ -145,7 +145,7 @@ NameData TYPE = FT_STRING DISPLAY = BASE_NONE #.FN_BODY Extension/extensionArgument tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) { proto_item *item=NULL; proto_tree *next_tree=NULL; diff --git a/asn1/ros/packet-ros-template.c b/asn1/ros/packet-ros-template.c index e00b348384..ea608ca75f 100644 --- a/asn1/ros/packet-ros-template.c +++ b/asn1/ros/packet-ros-template.c @@ -207,7 +207,7 @@ call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *p { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if(!ros_try_string(oid, next_tvb, pinfo, tree) && !dissector_try_string(ros_oid_dissector_table, oid, next_tvb, pinfo, tree)){ diff --git a/asn1/rtse/packet-rtse-template.c b/asn1/rtse/packet-rtse-template.c index 37c704d474..99a0a163a8 100644 --- a/asn1/rtse/packet-rtse-template.c +++ b/asn1/rtse/packet-rtse-template.c @@ -145,7 +145,7 @@ call_rtse_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info * { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if(!dissector_try_string(rtse_oid_dissector_table, oid, next_tvb, pinfo, tree)){ proto_item *item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "RTSE: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid); proto_tree *next_tree=proto_item_add_subtree(item, ett_rtse_unknown); diff --git a/epan/dissectors/packet-ax25-kiss.c b/epan/dissectors/packet-ax25-kiss.c index 77cddb9b38..80cef60e25 100644 --- a/epan/dissectors/packet-ax25-kiss.c +++ b/epan/dissectors/packet-ax25-kiss.c @@ -303,7 +303,7 @@ dissect_ax25_kiss( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree ) if ( kiss_type == KISS_DATA_FRAME ) { saved_private_data = pinfo->private_data; - next_tvb = tvb_new_subset( tvb, offset, -1, -1 ); + next_tvb = tvb_new_subset_remaining( tvb, offset ); call_dissector( ax25_handle, next_tvb, pinfo, parent_tree ); pinfo->private_data = saved_private_data; } diff --git a/epan/dissectors/packet-ax25-nol3.c b/epan/dissectors/packet-ax25-nol3.c index 293f7b3108..415ccece25 100644 --- a/epan/dissectors/packet-ax25-nol3.c +++ b/epan/dissectors/packet-ax25-nol3.c @@ -198,7 +198,7 @@ dissect_ax25_nol3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree ) ax25_nol3_tree = proto_item_add_subtree( ti, ett_ax25_nol3 ); saved_private_data = pinfo->private_data; - next_tvb = tvb_new_subset(tvb, offset, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, offset); dissected = FALSE; if ( gPREF_APRS ) diff --git a/epan/dissectors/packet-bpq.c b/epan/dissectors/packet-bpq.c index 76f8cf7c2c..4f1c766b4b 100644 --- a/epan/dissectors/packet-bpq.c +++ b/epan/dissectors/packet-bpq.c @@ -99,7 +99,7 @@ dissect_bpq( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree ) saved_private_data = pinfo->private_data; /* XXX - use the length */ - next_tvb = tvb_new_subset( tvb, offset, -1, -1 ); + next_tvb = tvb_new_subset_remaining( tvb, offset ); call_dissector( ax25_handle, next_tvb, pinfo, parent_tree ); pinfo->private_data = saved_private_data; } diff --git a/epan/dissectors/packet-btavdtp.c b/epan/dissectors/packet-btavdtp.c index ea4231b9e6..aaee7d5795 100644 --- a/epan/dissectors/packet-btavdtp.c +++ b/epan/dissectors/packet-btavdtp.c @@ -1039,10 +1039,10 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) get_sep_type(pinfo->fd->num, cid_type_data->sep->seid)); if (cid_type_data->sep->media_type == MEDIA_TYPE_AUDIO) { - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_with_data(bta2dp_handle, next_tvb, pinfo, tree, &cid_type_data->sep->codec); } else if (cid_type_data->sep->media_type == MEDIA_TYPE_VIDEO) { - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_with_data(btvdp_handle, next_tvb, pinfo, tree, &cid_type_data->sep->codec); } else { ti = proto_tree_add_item(tree, proto_btavdtp, tvb, offset, -1, ENC_NA); diff --git a/epan/dissectors/packet-btbnep.c b/epan/dissectors/packet-btbnep.c index d87e24caaa..882d0f0f2e 100644 --- a/epan/dissectors/packet-btbnep.c +++ b/epan/dissectors/packet-btbnep.c @@ -373,9 +373,7 @@ dissect_btbnep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ethertype(type, tvb, offset, pinfo, tree, btbnep_tree, hf_btbnep_type, 0, 0); } else { - next_tvb = tvb_new_subset(tvb, offset, - tvb_length_remaining(tvb, offset), - tvb_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector(data_handle, next_tvb, pinfo, tree); } } diff --git a/epan/dissectors/packet-bthci_evt.c b/epan/dissectors/packet-bthci_evt.c index 437c1a6ce7..e72e5173ad 100644 --- a/epan/dissectors/packet-bthci_evt.c +++ b/epan/dissectors/packet-bthci_evt.c @@ -1325,7 +1325,7 @@ dissect_bthci_evt_loopback_command(tvbuff_t *tvb, int offset, packet_info *pinfo { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1); + next_tvb = tvb_new_subset_remaining(tvb, offset); if(bthci_com_handle){ call_dissector(bthci_com_handle, next_tvb, pinfo, tree); } diff --git a/epan/dissectors/packet-c1222.c b/epan/dissectors/packet-c1222.c index a8f8b1770d..dcae3794dc 100644 --- a/epan/dissectors/packet-c1222.c +++ b/epan/dissectors/packet-c1222.c @@ -952,7 +952,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_ if (len2 <= 0) return offset; buffer = (guchar *)tvb_memdup(tvb, offset, len2); - epsem_buffer = tvb_new_subset(tvb, offset, -1, -1); + epsem_buffer = tvb_new_subset_remaining(tvb, offset); if (c1222_decrypt) { if (!decrypt_packet(buffer, len2, FALSE)) { #ifdef HAVE_LIBGCRYPT @@ -968,7 +968,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_ break; default: /* it's not encrypted */ - epsem_buffer = tvb_new_subset(tvb, offset, -1, -1); + epsem_buffer = tvb_new_subset_remaining(tvb, offset); } /* it's only encrypted if we have an undecrypted payload */ if (encrypted) { diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c index be79b6facf..a8619245a2 100644 --- a/epan/dissectors/packet-catapult-dct2000.c +++ b/epan/dissectors/packet-catapult-dct2000.c @@ -826,7 +826,7 @@ static void dissect_rlc_umts(tvbuff_t *tvb, gint offset, /* Call UMTS RLC dissector */ if (rlc_umts_handle != 0) { - rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + rlc_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_only(rlc_umts_handle, rlc_tvb, pinfo, tree, NULL); } } @@ -1025,7 +1025,7 @@ static void dissect_rrc_lte(tvbuff_t *tvb, gint offset, /* Send to RRC dissector, if got here, have sub-dissector and some data left */ if ((protocol_handle != NULL) && (tvb_length_remaining(tvb, offset) > 0)) { - rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + rrc_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_only(protocol_handle, rrc_tvb, pinfo, tree, NULL); } } @@ -1283,7 +1283,7 @@ static void dissect_pdcp_lte(tvbuff_t *tvb, gint offset, /* Should be at data tag now */ /* Call PDCP LTE dissector */ - pdcp_lte_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + pdcp_lte_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_only(pdcp_lte_handle, pdcp_lte_tvb, pinfo, tree, NULL); break; @@ -2823,7 +2823,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Try appropriate dissector, if one has been selected */ if (protocol_handle != 0) { /* Dissect the remainder of the frame using chosen protocol handle */ - next_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + next_tvb = tvb_new_subset_remaining(tvb, offset); sub_dissector_result = call_dissector_only(protocol_handle, next_tvb, pinfo, tree, NULL); } diff --git a/epan/dissectors/packet-dis-pdus.c b/epan/dissectors/packet-dis-pdus.c index 717e3d358a..583179e7d4 100644 --- a/epan/dissectors/packet-dis-pdus.c +++ b/epan/dissectors/packet-dis-pdus.c @@ -865,10 +865,7 @@ gint parseFields(tvbuff_t *tvb, proto_tree *tree, gint offset, DIS_ParserNode pa break; case DIS_FIELDTYPE_RADIO_DATA: - newtvb = tvb_new_subset(tvb, offset, - tvb_length_remaining(tvb, offset), - tvb_reported_length_remaining(tvb, offset) - ); + newtvb = tvb_new_subset_remaining(tvb, offset); proto_tree_add_item(tree, hf_dis_signal_data, newtvb, 0, -1, ENC_NA ); /* ****ck******* need to look for padding bytes */ break; @@ -1029,10 +1026,7 @@ gint parseFields(tvbuff_t *tvb, proto_tree *tree, gint offset, DIS_ParserNode pa break; case DIS_FIELDTYPE_ANTENNA_PATTERN_PARAMETERS: /* just dump the bytes for now. Need to do finish */ - newtvb = tvb_new_subset(tvb, offset, - tvb_length_remaining(tvb, offset), - tvb_reported_length_remaining(tvb, offset) - ); + newtvb = tvb_new_subset_remaining(tvb, offset); proto_tree_add_item(tree, hf_dis_antenna_pattern_parameter_dump, newtvb, 0, -1, ENC_NA ); break; diff --git a/epan/dissectors/packet-eigrp.c b/epan/dissectors/packet-eigrp.c index a783fb2ea0..4a236fa3ea 100644 --- a/epan/dissectors/packet-eigrp.c +++ b/epan/dissectors/packet-eigrp.c @@ -2530,7 +2530,7 @@ dissect_eigrp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ switch (opcode) { case EIGRP_OPC_IPXSAP: call_dissector(ipxsap_handle, - tvb_new_subset(tvb, EIGRP_HEADER_LENGTH, -1, -1), pinfo, + tvb_new_subset_remaining(tvb, EIGRP_HEADER_LENGTH), pinfo, eigrp_tree); break; diff --git a/epan/dissectors/packet-flexnet.c b/epan/dissectors/packet-flexnet.c index 0b53747fc2..e104a9d1a8 100644 --- a/epan/dissectors/packet-flexnet.c +++ b/epan/dissectors/packet-flexnet.c @@ -93,7 +93,7 @@ dissect_flexnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) /* Call sub-dissectors here */ saved_private_data = pinfo->private_data; - next_tvb = tvb_new_subset(tvb, FLEXNET_HDRLEN, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, FLEXNET_HDRLEN); call_dissector( default_handle , next_tvb, pinfo, parent_tree ); diff --git a/epan/dissectors/packet-fp_hint.c b/epan/dissectors/packet-fp_hint.c index 5e7ee7a347..bce45f74df 100644 --- a/epan/dissectors/packet-fp_hint.c +++ b/epan/dissectors/packet-fp_hint.c @@ -528,7 +528,7 @@ static void dissect_fp_hint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) next_dissector = &data_handle; } - next_tvb = tvb_new_subset(tvb, hdrlen, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, hdrlen); call_dissector(*next_dissector, next_tvb, pinfo, tree); } diff --git a/epan/dissectors/packet-gssapi.c b/epan/dissectors/packet-gssapi.c index eb14cdd968..5354c35741 100644 --- a/epan/dissectors/packet-gssapi.c +++ b/epan/dissectors/packet-gssapi.c @@ -314,7 +314,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if ((tvb_length_remaining(gss_tvb, start_offset)>16) && ((tvb_memeql(gss_tvb, start_offset, "\x01\x00\x00\x00", 4) == 0))) { return_offset = call_dissector(ntlmssp_payload_handle, - tvb_new_subset(gss_tvb, start_offset, -1, -1), + tvb_new_subset_remaining(gss_tvb, start_offset), pinfo, subtree); pinfo->gssapi_data_encrypted = TRUE; goto done; @@ -323,12 +323,12 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ((tvb_memeql(gss_tvb, start_offset, "\x01\x00\x00\x00", 4) == 0))) { if( is_verifier ) { return_offset = call_dissector(ntlmssp_verf_handle, - tvb_new_subset(gss_tvb, start_offset, -1, -1), + tvb_new_subset_remaining(gss_tvb, start_offset), pinfo, subtree); } else if( pinfo->gssapi_encrypted_tvb ) { return_offset = call_dissector(ntlmssp_data_only_handle, - tvb_new_subset(pinfo->gssapi_encrypted_tvb, 0, -1, -1), + tvb_new_subset_remaining(pinfo->gssapi_encrypted_tvb, 0), pinfo, subtree); pinfo->gssapi_data_encrypted = TRUE; } diff --git a/epan/dissectors/packet-gvrp.c b/epan/dissectors/packet-gvrp.c index 165744f869..7aa2117a5e 100644 --- a/epan/dissectors/packet-gvrp.c +++ b/epan/dissectors/packet-gvrp.c @@ -129,7 +129,7 @@ dissect_gvrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree_add_text(gvrp_tree, tvb, GARP_PROTOCOL_ID, (int)sizeof(guint16), " (Warning: this version of Wireshark only knows about protocol id = 1)"); call_dissector(data_handle, - tvb_new_subset(tvb, GARP_PROTOCOL_ID + (int)sizeof(guint16), -1, -1), + tvb_new_subset_remaining(tvb, GARP_PROTOCOL_ID + (int)sizeof(guint16)), pinfo, tree); return; } diff --git a/epan/dissectors/packet-h1.c b/epan/dissectors/packet-h1.c index e5e85619db..5e59083512 100644 --- a/epan/dissectors/packet-h1.c +++ b/epan/dissectors/packet-h1.c @@ -237,7 +237,7 @@ static gboolean dissect_h1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, THROW(ReportedBoundsError); position += tvb_get_guint8(tvb,offset + position + 1); /* Goto next section */ } /* ..while */ - next_tvb = tvb_new_subset(tvb, offset+tvb_get_guint8(tvb,offset+2), -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, offset+tvb_get_guint8(tvb,offset+2)); call_dissector(data_handle,next_tvb, pinfo, tree); return TRUE; diff --git a/epan/dissectors/packet-hsr.c b/epan/dissectors/packet-hsr.c index 411be5d4fd..f312cb0f22 100644 --- a/epan/dissectors/packet-hsr.c +++ b/epan/dissectors/packet-hsr.c @@ -119,7 +119,7 @@ dissect_hsr_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree_add_item(hsr_tree, hf_type, tvb, HSR_TOTAL_LENGTH,2, ENC_BIG_ENDIAN); - next_tvb = tvb_new_subset (tvb, HSR_TOTAL_LENGTH + 2, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, HSR_TOTAL_LENGTH + 2); etype = tvb_get_ntohs(tvb, HSR_TOTAL_LENGTH); diff --git a/epan/dissectors/packet-ipsec.c b/epan/dissectors/packet-ipsec.c index 12424c9106..084d9c4cd5 100644 --- a/epan/dissectors/packet-ipsec.c +++ b/epan/dissectors/packet-ipsec.c @@ -1990,7 +1990,7 @@ dissect_ipcomp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) offsetof(struct ipcomp, comp_cpi), 2, g_ntohs(ipcomp.comp_cpi)); - data = tvb_new_subset(tvb, sizeof(struct ipcomp), -1, -1); + data = tvb_new_subset_remaining(tvb, sizeof(struct ipcomp)); call_dissector(data_handle, data, pinfo, ipcomp_tree); /* diff --git a/epan/dissectors/packet-ixveriwave.c b/epan/dissectors/packet-ixveriwave.c index 5f6327fa66..39c0dd0665 100644 --- a/epan/dissectors/packet-ixveriwave.c +++ b/epan/dissectors/packet-ixveriwave.c @@ -694,7 +694,7 @@ ethernettap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_t } /* Grab the rest of the frame. */ - next_tvb = tvb_new_subset(tvb, length, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, length); /* dissect the ethernet header next */ call_dissector(ethernet_handle, next_tvb, pinfo, tree); @@ -945,7 +945,7 @@ wlantap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree pinfo->pseudo_header->ieee_802_11.fcs_len = 0; /* Grab the rest of the frame. */ - next_tvb = tvb_new_subset(tvb, length, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, length); #if 0 /* XXX: 'hdr_fcs_ti' is never set so the following code will never be executed ? */ /* If we had an in-header FCS, check it. */ diff --git a/epan/dissectors/packet-jmirror.c b/epan/dissectors/packet-jmirror.c index 81c4a036a6..079db45e79 100644 --- a/epan/dissectors/packet-jmirror.c +++ b/epan/dissectors/packet-jmirror.c @@ -149,7 +149,7 @@ dissect_jmirror(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data offset += SESSION_ID_SZ; /* Create a buffer pointer for the next dissector */ - next_tvb = tvb_new_subset(tvb, offset, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, offset); /* Call the next dissector based on the heurstics and return the number of bytes dissected */ return MIRROR_HDR_SZ + call_dissector(dissector_handle, next_tvb, pinfo, tree); diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index 49df094702..cfa275fd79 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -2150,7 +2150,7 @@ dissect_krb5_decrypt_PA_ENC_TIMESTAMP (proto_tree *tree, tvbuff_t *tvb, int offs if(!plaintext){ tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); plaintext=decrypt_krb5_data(tree, actx->pinfo, 1, next_tvb, PA_ENC_TIMESTAMP_etype, NULL); } @@ -3529,7 +3529,7 @@ dissect_krb5_decrypt_PRIV (proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx if(!plaintext){ tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); plaintext=decrypt_krb5_data(tree, actx->pinfo, 13, next_tvb, PRIV_etype, NULL); } @@ -3677,7 +3677,7 @@ dissect_krb5_decrypt_EncKrbCredPart (proto_tree *tree, tvbuff_t *tvb, int offset int length; tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); length=tvb_length_remaining(tvb, offset); @@ -3834,7 +3834,7 @@ dissect_krb5_decrypt_enc_authorization_data(proto_tree *tree, tvbuff_t *tvb, int int length; tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); length=tvb_length_remaining(tvb, offset); @@ -4029,7 +4029,7 @@ dissect_krb5_decrypt_authenticator_data (proto_tree *tree, tvbuff_t *tvb, int of int length; tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); length=tvb_length_remaining(tvb, offset); @@ -4118,7 +4118,7 @@ dissect_krb5_decrypt_Ticket_data (proto_tree *tree, tvbuff_t *tvb, int offset, a int length; tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); length=tvb_length_remaining(tvb, offset); @@ -4259,7 +4259,7 @@ dissect_krb5_decrypt_AP_REP_data(proto_tree *tree, tvbuff_t *tvb, int offset, as if(!plaintext){ tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); plaintext=decrypt_krb5_data(tree, actx->pinfo, 12, next_tvb, AP_REP_etype, NULL); } @@ -4358,7 +4358,7 @@ dissect_krb5_decrypt_KDC_REP_data (proto_tree *tree, tvbuff_t *tvb, int offset, int length; tvbuff_t *next_tvb; - next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb=tvb_new_subset_remaining(tvb, offset); length=tvb_length_remaining(tvb, offset); @@ -5433,9 +5433,7 @@ static int wrap_dissect_gss_kerb(tvbuff_t *tvb, int offset, packet_info *pinfo, { tvbuff_t *auth_tvb; - auth_tvb = tvb_new_subset( - tvb, offset, tvb_length_remaining(tvb, offset), - tvb_reported_length_remaining(tvb, offset)); + auth_tvb = tvb_new_subset_remaining(tvb, offset); dissect_kerberos_main(auth_tvb, pinfo, tree, FALSE, NULL); diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 364e198ce7..6268c04c18 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -3930,7 +3930,7 @@ one_more_pdu: * same blob */ if(tvb_length_remaining(tvb, offset)>=6){ - tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1); + tvb = tvb_new_subset_remaining(tvb, offset); offset = 0; goto one_more_pdu; diff --git a/epan/dissectors/packet-mac-lte-framed.c b/epan/dissectors/packet-mac-lte-framed.c index e1f61c3bab..02f61fe41b 100644 --- a/epan/dissectors/packet-mac-lte-framed.c +++ b/epan/dissectors/packet-mac-lte-framed.c @@ -85,7 +85,7 @@ static void dissect_mac_lte_framed(tvbuff_t *tvb, packet_info *pinfo, /* OK, now dissect as MAC LTE */ /* Create tvb that starts at actual MAC PDU */ - mac_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + mac_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector_only(mac_lte_handle, mac_tvb, pinfo, tree, NULL); } diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c index a55f0a0817..83abbc029f 100644 --- a/epan/dissectors/packet-mac-lte.c +++ b/epan/dissectors/packet-mac-lte.c @@ -1291,7 +1291,7 @@ static gboolean dissect_mac_lte_heur(tvbuff_t *tvb, packet_info *pinfo, /* OK, now dissect as MAC LTE */ /* Create tvb that starts at actual MAC PDU */ - mac_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + mac_tvb = tvb_new_subset_remaining(tvb, offset); dissect_mac_lte(mac_tvb, pinfo, tree); return TRUE; @@ -1791,7 +1791,7 @@ static void dissect_bch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (global_mac_lte_attempt_rrc_decode) { /* Attempt to decode payload using LTE RRC dissector */ - tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset); /* Get appropriate dissector handle */ dissector_handle_t protocol_handle = 0; @@ -1836,7 +1836,7 @@ static void dissect_pch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (global_mac_lte_attempt_rrc_decode) { /* Attempt to decode payload using LTE RRC dissector */ - tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset); /* Get appropriate dissector handle */ dissector_handle_t protocol_handle = find_dissector("lte_rrc.pcch"); diff --git a/epan/dissectors/packet-mpeg-dsmcc.c b/epan/dissectors/packet-mpeg-dsmcc.c index 181b780a7a..348d6a223a 100644 --- a/epan/dissectors/packet-mpeg-dsmcc.c +++ b/epan/dissectors/packet-mpeg-dsmcc.c @@ -516,7 +516,7 @@ dissect_dsmcc_ddb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_item(tree, hf_dsmcc_ddb_block_number, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; - sub_tvb = tvb_new_subset(tvb, offset, -1, -1); + sub_tvb = tvb_new_subset_remaining(tvb, offset); call_dissector(data_handle, sub_tvb, pinfo, top_tree); } diff --git a/epan/dissectors/packet-netanalyzer.c b/epan/dissectors/packet-netanalyzer.c index 600fb9710c..544230a8aa 100644 --- a/epan/dissectors/packet-netanalyzer.c +++ b/epan/dissectors/packet-netanalyzer.c @@ -315,7 +315,7 @@ dissect_netanalyzer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (dissect_netanalyzer_common(tvb, pinfo, tree)) { /* hand off to eth dissector with the new tvb subset */ - next_tvb = tvb_new_subset(tvb, 4, tvb_length(tvb)-4, tvb_reported_length(tvb)-4); + next_tvb = tvb_new_subset_remaining(tvb, 4); call_dissector(eth_dissector_handle, next_tvb, pinfo, tree); } } @@ -350,7 +350,7 @@ dissect_netanalyzer_transparent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t * use data dissector instead */ ti = proto_tree_add_text(tree, tvb, 4, tvb_length(tvb)-4, "Raw packet data"); transparent_payload_tree = proto_item_add_subtree(ti, ett_netanalyzer_transparent); - next_tvb = tvb_new_subset(tvb, 4, tvb_length(tvb)-4, tvb_reported_length(tvb)-4); + next_tvb = tvb_new_subset_remaining(tvb, 4); call_dissector(data_dissector_handle, next_tvb, pinfo, transparent_payload_tree); col_set_str(pinfo->cinfo, COL_PROTOCOL, "netANALYZER"); diff --git a/epan/dissectors/packet-netrom.c b/epan/dissectors/packet-netrom.c index 669fbf8127..a5b8a7a35a 100644 --- a/epan/dissectors/packet-netrom.c +++ b/epan/dissectors/packet-netrom.c @@ -449,7 +449,7 @@ dissect_netrom_proto(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Call sub-dissectors here */ saved_private_data = pinfo->private_data; - next_tvb = tvb_new_subset(tvb, offset, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, offset); switch ( op_code ) { @@ -493,7 +493,7 @@ dissect_netrom_routing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } saved_private_data = pinfo->private_data; - next_tvb = tvb_new_subset(tvb, 7, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, 7); call_dissector( default_handle , next_tvb, pinfo, tree ); diff --git a/epan/dissectors/packet-nstrace.c b/epan/dissectors/packet-nstrace.c index cb0201b13b..0acff2b558 100644 --- a/epan/dissectors/packet-nstrace.c +++ b/epan/dissectors/packet-nstrace.c @@ -212,7 +212,7 @@ dissect_nstrace(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Dissect as Ethernet */ offset = pnstr->eth_offset; - next_tvb_eth_client = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb_eth_client = tvb_new_subset_remaining(tvb, offset); call_dissector(eth_withoutfcs_handle, next_tvb_eth_client, pinfo, tree); } diff --git a/epan/dissectors/packet-ntlmssp.c b/epan/dissectors/packet-ntlmssp.c index e53aac5378..83ecfa8b9c 100644 --- a/epan/dissectors/packet-ntlmssp.c +++ b/epan/dissectors/packet-ntlmssp.c @@ -2527,9 +2527,7 @@ wrap_dissect_ntlmssp_payload_only(tvbuff_t *tvb, tvbuff_t *auth_tvb _U_, { tvbuff_t *data_tvb; - data_tvb = tvb_new_subset( - tvb, offset, tvb_length_remaining(tvb, offset), - tvb_length_remaining(tvb, offset)); + data_tvb = tvb_new_subset_remaining(tvb, offset); dissect_ntlmssp_payload_only(data_tvb, pinfo, NULL, NULL); return pinfo->gssapi_decrypted_tvb; } @@ -2678,9 +2676,7 @@ wrap_dissect_ntlmssp(tvbuff_t *tvb, int offset, packet_info *pinfo, { tvbuff_t *auth_tvb; - auth_tvb = tvb_new_subset( - tvb, offset, tvb_length_remaining(tvb, offset), - tvb_length_remaining(tvb, offset)); + auth_tvb = tvb_new_subset_remaining(tvb, offset); dissect_ntlmssp(auth_tvb, pinfo, tree); @@ -2693,9 +2689,7 @@ wrap_dissect_ntlmssp_verf(tvbuff_t *tvb, int offset, packet_info *pinfo, { tvbuff_t *auth_tvb; - auth_tvb = tvb_new_subset( - tvb, offset, tvb_length_remaining(tvb, offset), - tvb_length_remaining(tvb, offset)); + auth_tvb = tvb_new_subset_remaining(tvb, offset); return dissect_ntlmssp_verf(auth_tvb, pinfo, tree, NULL); } diff --git a/epan/dissectors/packet-pdcp-lte.c b/epan/dissectors/packet-pdcp-lte.c index ce616ece01..fb7b7607ae 100644 --- a/epan/dissectors/packet-pdcp-lte.c +++ b/epan/dissectors/packet-pdcp-lte.c @@ -968,7 +968,7 @@ static gboolean dissect_pdcp_lte_heur(tvbuff_t *tvb, packet_info *pinfo, /* OK, now dissect as PDCP LTE */ /* Create tvb that starts at actual PDCP PDU */ - pdcp_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + pdcp_tvb = tvb_new_subset_remaining(tvb, offset); dissect_pdcp_lte(pdcp_tvb, pinfo, tree); return TRUE; } diff --git a/epan/dissectors/packet-qsig.c b/epan/dissectors/packet-qsig.c index ef31cb8799..dda9e86a75 100644 --- a/epan/dissectors/packet-qsig.c +++ b/epan/dissectors/packet-qsig.c @@ -2073,7 +2073,7 @@ dissect_qsig_T_extensionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i #line 146 "../../asn1/qsig/qsig.cnf" tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) { proto_item *item=NULL; proto_tree *next_tree=NULL; diff --git a/epan/dissectors/packet-rlc-lte.c b/epan/dissectors/packet-rlc-lte.c index 1e52b8a17b..289852933a 100644 --- a/epan/dissectors/packet-rlc-lte.c +++ b/epan/dissectors/packet-rlc-lte.c @@ -1918,7 +1918,7 @@ static void dissect_rlc_lte_tm(tvbuff_t *tvb, packet_info *pinfo, } if (global_rlc_lte_call_rrc_for_ccch) { - tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset)); + tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset); volatile dissector_handle_t protocol_handle = 0; switch (p_rlc_lte_info->channelType) { @@ -2689,7 +2689,7 @@ static gboolean dissect_rlc_lte_heur(tvbuff_t *tvb, packet_info *pinfo, /* OK, now dissect as RLC LTE */ /* Create tvb that starts at actual RLC PDU */ - rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + rlc_tvb = tvb_new_subset_remaining(tvb, offset); dissect_rlc_lte(rlc_tvb, pinfo, tree); return TRUE; } diff --git a/epan/dissectors/packet-rlc.c b/epan/dissectors/packet-rlc.c index 7748dd1c1f..8f7d9790e9 100644 --- a/epan/dissectors/packet-rlc.c +++ b/epan/dissectors/packet-rlc.c @@ -2689,7 +2689,7 @@ dissect_rlc_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data /* OK, now dissect as RLC */ /* Create tvb that starts at actual RLC PDU */ - rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset); + rlc_tvb = tvb_new_subset_remaining(tvb, offset); switch (channelType) { case UMTS_CHANNEL_TYPE_UNSPECIFIED: /* Call relevant dissector according to RLC mode */ diff --git a/epan/dissectors/packet-ros.c b/epan/dissectors/packet-ros.c index 2cae7cdf45..49b81f789c 100644 --- a/epan/dissectors/packet-ros.c +++ b/epan/dissectors/packet-ros.c @@ -261,7 +261,7 @@ call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *p { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if(!ros_try_string(oid, next_tvb, pinfo, tree) && !dissector_try_string(ros_oid_dissector_table, oid, next_tvb, pinfo, tree)){ diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c index 9b5c2065c5..de151473b7 100644 --- a/epan/dissectors/packet-rtse.c +++ b/epan/dissectors/packet-rtse.c @@ -195,7 +195,7 @@ call_rtse_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info * { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if(!dissector_try_string(rtse_oid_dissector_table, oid, next_tvb, pinfo, tree)){ proto_item *item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "RTSE: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid); proto_tree *next_tree=proto_item_add_subtree(item, ett_rtse_unknown); diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 2a5f33cb12..106a11e225 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -13546,9 +13546,7 @@ dissect_sfsi_request(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, blob_tree = proto_item_add_subtree(blob_item, ett_smb_secblob); - blob_tvb = tvb_new_subset(tvb, offset, - tvb_length_remaining(tvb,offset), - tvb_length_remaining(tvb,offset)); + blob_tvb = tvb_new_subset_remaining(tvb, offset); if (tvb_strneql(blob_tvb, 0, "NTLMSSP", 7) == 0) { call_dissector(ntlmssp_handle, blob_tvb, pinfo, blob_tree); @@ -13604,9 +13602,7 @@ dissect_sfsi_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, blob_tree = proto_item_add_subtree(blob_item, ett_smb_secblob); - blob_tvb = tvb_new_subset(tvb, offset, - tvb_length_remaining(tvb,offset), - tvb_length_remaining(tvb,offset)); + blob_tvb = tvb_new_subset_remaining(tvb, offset); if (tvb_strneql(blob_tvb, 0, "NTLMSSP", 7) == 0) { call_dissector(ntlmssp_handle, blob_tvb, pinfo, blob_tree); diff --git a/epan/dissectors/packet-smb2.c b/epan/dissectors/packet-smb2.c index ed5ffc326f..20ddc43914 100644 --- a/epan/dissectors/packet-smb2.c +++ b/epan/dissectors/packet-smb2.c @@ -4169,9 +4169,7 @@ dissect_smb2_NETWORK_INTERFACE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tre if (next_offset) { tvbuff_t *next_tvb; - next_tvb = tvb_new_subset(tvb, next_offset, - tvb_length_remaining(tvb, next_offset), - tvb_reported_length_remaining(tvb, next_offset)); + next_tvb = tvb_new_subset_remaining(tvb, next_offset); /* next extra info */ dissect_smb2_NETWORK_INTERFACE_INFO(next_tvb, pinfo, parent_tree); @@ -5298,7 +5296,7 @@ dissect_smb2_create_extra_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pa if (chain_offset) { tvbuff_t *chain_tvb; - chain_tvb = tvb_new_subset(tvb, chain_offset, tvb_length_remaining(tvb, chain_offset), tvb_reported_length_remaining(tvb, chain_offset)); + chain_tvb = tvb_new_subset_remaining(tvb, chain_offset); /* next extra info */ dissect_smb2_create_extra_info(chain_tvb, pinfo, parent_tree, si); diff --git a/epan/dissectors/packet-sync.c b/epan/dissectors/packet-sync.c index 833c033617..c3a72c01d5 100644 --- a/epan/dissectors/packet-sync.c +++ b/epan/dissectors/packet-sync.c @@ -160,7 +160,7 @@ dissect_sync(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ offset += 2; /* XXX - The payload may not always be present? */ - next_tvb = tvb_new_subset(tvb, offset, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, offset); /* XXX - The payload may not always be IP? */ call_dissector(ip_handle, next_tvb, pinfo, tree); break; diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c index e0a0622384..dd7cbc1ad5 100644 --- a/epan/dissectors/packet-umts_fp.c +++ b/epan/dissectors/packet-umts_fp.c @@ -3028,7 +3028,7 @@ dissect_e_dch_t2_or_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto /* Call MAC for this PDU if configured to */ if (preferences_call_mac_dissectors) { p_add_proto_data(pinfo->fd, proto_umts_mac, mac_is_info); - call_dissector(mac_fdd_edch_type2_handle, tvb_new_subset(tvb, offset, -1, -1), pinfo, top_level_tree); + call_dissector(mac_fdd_edch_type2_handle, tvb_new_subset_remaining(tvb, offset), pinfo, top_level_tree); } else { /* Still show data if not decoding as MAC PDU */ diff --git a/epan/dissectors/packet-umts_mac.c b/epan/dissectors/packet-umts_mac.c index 58498f1683..3767e95414 100644 --- a/epan/dissectors/packet-umts_mac.c +++ b/epan/dissectors/packet-umts_mac.c @@ -406,7 +406,7 @@ static void dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree * channel_type = proto_tree_add_uint(fach_tree, hf_mac_channel, tvb, 0, 0, MAC_CCCH); PROTO_ITEM_SET_GENERATED(channel_type); /* CCCH over FACH is always octet aligned */ - next_tvb = tvb_new_subset(tvb, 1, tvb_length_remaining(tvb, 1), -1); + next_tvb = tvb_new_subset_remaining(tvb, 1); call_dissector(rlc_ccch_handle, next_tvb, pinfo, tree); break; case TCTF_DCCH_DTCH_FACH_FDD: @@ -448,7 +448,7 @@ static void dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree * channel_type = proto_tree_add_uint(fach_tree, hf_mac_channel, tvb, 0, 0, MAC_CTCH); PROTO_ITEM_SET_GENERATED(channel_type); /* CTCH over FACH is always octet aligned */ - next_tvb = tvb_new_subset(tvb, 1, tvb_length_remaining(tvb, 1), -1); + next_tvb = tvb_new_subset_remaining(tvb, 1); call_dissector(rlc_ctch_handle, next_tvb, pinfo, tree); break; /* july 5: Added support for BCCH*/ diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c index 6a87515fb5..e06870487e 100644 --- a/epan/dissectors/packet-usb.c +++ b/epan/dissectors/packet-usb.c @@ -2878,7 +2878,7 @@ dissect_linux_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent, break; } - next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset)); + next_tvb = tvb_new_subset_remaining(tvb, offset); if (!dissector_try_uint(device_to_dissector, (guint32) (bus_id << 8 | device_address), next_tvb, pinfo, parent)) { emem_tree_key_t key[4]; diff --git a/epan/dissectors/packet-zbee-aps.c b/epan/dissectors/packet-zbee-aps.c index 7f67873a72..9135759cd5 100644 --- a/epan/dissectors/packet-zbee-aps.c +++ b/epan/dissectors/packet-zbee-aps.c @@ -1573,8 +1573,7 @@ dissect_zbee_aps_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui offset += 8; /* The remainder is a tunneled APS frame. */ - tunnel_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), - tvb_reported_length_remaining(tvb, offset)); + tunnel_tvb = tvb_new_subset_remaining(tvb, offset); if (tree) root = proto_tree_get_root(tree); call_dissector(zbee_aps_handle, tunnel_tvb, pinfo, root); offset = tvb_length(tvb); diff --git a/plugins/opcua/opcua.c b/plugins/opcua/opcua.c index d4d9e1e0c8..9e1fea8469 100644 --- a/plugins/opcua/opcua.c +++ b/plugins/opcua/opcua.c @@ -403,7 +403,7 @@ static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree { /* only show transport header */ bParseService = FALSE; - next_tvb = tvb_new_subset(tvb, 0, -1, -1); + next_tvb = tvb_new_subset_remaining(tvb, 0); } pinfo->fragmented = bSaveFragmented; diff --git a/plugins/wimaxasncp/packet-wimaxasncp.c b/plugins/wimaxasncp/packet-wimaxasncp.c index e8e26e3579..8dfe255315 100644 --- a/plugins/wimaxasncp/packet-wimaxasncp.c +++ b/plugins/wimaxasncp/packet-wimaxasncp.c @@ -2076,10 +2076,7 @@ static guint dissect_wimaxasncp_backend( { tvbuff_t *tlv_tvb; - tlv_tvb = tvb_new_subset( - tvb, offset, - tvb_length(tvb) - offset, - tvb_length(tvb) - offset); + tlv_tvb = tvb_new_subset_remaining(tvb, offset); offset += dissect_wimaxasncp_tlvs(tlv_tvb, pinfo, tree); } |