tvb_new_subset -> tvb_new_subset_length when length parameters are equal.
authorMichael Mann <mmann78@netscape.net>
Fri, 6 Jun 2014 14:35:50 +0000 (10:35 -0400)
committerPascal Quantin <pascal.quantin@gmail.com>
Sat, 7 Jun 2014 15:41:07 +0000 (15:41 +0000)
tvb_new_subset -> tvb_new_subset_remaining it appears that's what the intention is.

Change-Id: I2334bbf3f10475b3c22391392fc8b6864454de2d
Reviewed-on: https://code.wireshark.org/review/1999
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
242 files changed:
asn1/h248/packet-h248-template.c
asn1/ldap/packet-ldap-template.c
asn1/lte-rrc/packet-lte-rrc-template.c
asn1/mpeg-pes/packet-mpeg-pes-template.c
asn1/q932-ros/q932-ros.cnf
asn1/q932/packet-q932-template.c
asn1/sabp/packet-sabp-template.c
asn1/snmp/packet-snmp-template.c
asn1/spnego/packet-spnego-template.c
asn1/tcap/packet-tcap-template.c
asn1/tcap/tcap.cnf
asn1/tetra/packet-tetra-template.c
epan/dissectors/file-jpeg.c
epan/dissectors/file-png.c
epan/dissectors/packet-6lowpan.c
epan/dissectors/packet-a21.c
epan/dissectors/packet-aastra-aasp.c
epan/dissectors/packet-acr122.c
epan/dissectors/packet-actrace.c
epan/dissectors/packet-adb_cs.c
epan/dissectors/packet-afp.c
epan/dissectors/packet-aim.c
epan/dissectors/packet-ansi_637.c
epan/dissectors/packet-ansi_a.c
epan/dissectors/packet-artnet.c
epan/dissectors/packet-asap.c
epan/dissectors/packet-asf.c
epan/dissectors/packet-assa_r3.c
epan/dissectors/packet-atm.c
epan/dissectors/packet-bat.c
epan/dissectors/packet-batadv.c
epan/dissectors/packet-ber.c
epan/dissectors/packet-bootp.c
epan/dissectors/packet-bssap.c
epan/dissectors/packet-bssgp.c
epan/dissectors/packet-btavctp.c
epan/dissectors/packet-bthci_cmd.c
epan/dissectors/packet-bthci_evt.c
epan/dissectors/packet-btle.c
epan/dissectors/packet-btrfcomm.c
epan/dissectors/packet-btsap.c
epan/dissectors/packet-bzr.c
epan/dissectors/packet-catapult-dct2000.c
epan/dissectors/packet-cell_broadcast.c
epan/dissectors/packet-cip.c
epan/dissectors/packet-cisco-sm.c
epan/dissectors/packet-cisco-wids.c
epan/dissectors/packet-coap.c
epan/dissectors/packet-cpfi.c
epan/dissectors/packet-daap.c
epan/dissectors/packet-db-lsp.c
epan/dissectors/packet-diameter.c
epan/dissectors/packet-dmp.c
epan/dissectors/packet-dns.c
epan/dissectors/packet-dpnss-link.c
epan/dissectors/packet-drda.c
epan/dissectors/packet-dtls.c
epan/dissectors/packet-dua.c
epan/dissectors/packet-dvb-data-mpe.c
epan/dissectors/packet-dvbci.c
epan/dissectors/packet-ehdlc.c
epan/dissectors/packet-eigrp.c
epan/dissectors/packet-eiss.c
epan/dissectors/packet-enip.c
epan/dissectors/packet-enrp.c
epan/dissectors/packet-etsi_card_app_toolkit.c
epan/dissectors/packet-etv.c
epan/dissectors/packet-fc.c
epan/dissectors/packet-fcp.c
epan/dissectors/packet-flip.c
epan/dissectors/packet-forces.c
epan/dissectors/packet-gdb.c
epan/dissectors/packet-gpef.c
epan/dissectors/packet-gprs-llc.c
epan/dissectors/packet-gsm_a_bssmap.c
epan/dissectors/packet-gsm_a_dtap.c
epan/dissectors/packet-gsm_a_gm.c
epan/dissectors/packet-gsm_a_rp.c
epan/dissectors/packet-gsm_a_rr.c
epan/dissectors/packet-gsm_abis_oml.c
epan/dissectors/packet-gsm_bsslap.c
epan/dissectors/packet-gsm_bssmap_le.c
epan/dissectors/packet-gsm_ipa.c
epan/dissectors/packet-gsm_rlcmac.c
epan/dissectors/packet-gsm_sim.c
epan/dissectors/packet-gsmtap.c
epan/dissectors/packet-gtp.c
epan/dissectors/packet-gtpv2.c
epan/dissectors/packet-h223.c
epan/dissectors/packet-h248.c
epan/dissectors/packet-hdmi.c
epan/dissectors/packet-hpfeeds.c
epan/dissectors/packet-http.c
epan/dissectors/packet-ieee17221.c
epan/dissectors/packet-ieee80211.c
epan/dissectors/packet-ifcp.c
epan/dissectors/packet-ipdc.c
epan/dissectors/packet-ipmi-se.c
epan/dissectors/packet-ipsec.c
epan/dissectors/packet-isakmp.c
epan/dissectors/packet-isl.c
epan/dissectors/packet-isup.c
epan/dissectors/packet-iua.c
epan/dissectors/packet-iuup.c
epan/dissectors/packet-iwarp-mpa.c
epan/dissectors/packet-ixveriwave.c
epan/dissectors/packet-jxta.c
epan/dissectors/packet-kafka.c
epan/dissectors/packet-kpasswd.c
epan/dissectors/packet-l2tp.c
epan/dissectors/packet-lapbether.c
epan/dissectors/packet-lapd.c
epan/dissectors/packet-lbmc.c
epan/dissectors/packet-lbmr.c
epan/dissectors/packet-lbtrm.c
epan/dissectors/packet-lbtru.c
epan/dissectors/packet-ldap.c
epan/dissectors/packet-linx.c
epan/dissectors/packet-lldp.c
epan/dissectors/packet-lte-rrc.c
epan/dissectors/packet-ltp.c
epan/dissectors/packet-m2pa.c
epan/dissectors/packet-m2tp.c
epan/dissectors/packet-m2ua.c
epan/dissectors/packet-m3ua.c
epan/dissectors/packet-mac-lte.c
epan/dissectors/packet-macsec.c
epan/dissectors/packet-mbim.c
epan/dissectors/packet-mbtcp.c
epan/dissectors/packet-mdshdr.c
epan/dissectors/packet-megaco.c
epan/dissectors/packet-mih.c
epan/dissectors/packet-mikey.c
epan/dissectors/packet-mint.c
epan/dissectors/packet-mip.c
epan/dissectors/packet-mip6.c
epan/dissectors/packet-mp2t.c
epan/dissectors/packet-mpeg-dsmcc.c
epan/dissectors/packet-mpeg-pes.c
epan/dissectors/packet-mstp.c
epan/dissectors/packet-mtp2.c
epan/dissectors/packet-mtp3.c
epan/dissectors/packet-multipart.c
epan/dissectors/packet-nas_eps.c
epan/dissectors/packet-nasdaq-soup.c
epan/dissectors/packet-nflog.c
epan/dissectors/packet-nwmtp.c
epan/dissectors/packet-openflow_v1.c
epan/dissectors/packet-openflow_v4.c
epan/dissectors/packet-openflow_v5.c
epan/dissectors/packet-openwire.c
epan/dissectors/packet-ossp.c
epan/dissectors/packet-packetlogger.c
epan/dissectors/packet-pana.c
epan/dissectors/packet-pdc.c
epan/dissectors/packet-per.c
epan/dissectors/packet-ppp.c
epan/dissectors/packet-pw-atm.c
epan/dissectors/packet-pw-cesopsn.c
epan/dissectors/packet-pw-fr.c
epan/dissectors/packet-pw-satop.c
epan/dissectors/packet-q931.c
epan/dissectors/packet-q932-ros.c
epan/dissectors/packet-q932.c
epan/dissectors/packet-quake.c
epan/dissectors/packet-quake2.c
epan/dissectors/packet-quake3.c
epan/dissectors/packet-quakeworld.c
epan/dissectors/packet-radius.c
epan/dissectors/packet-rfid-pn532-hci.c
epan/dissectors/packet-rfid-pn532.c
epan/dissectors/packet-rlc-lte.c
epan/dissectors/packet-rpcap.c
epan/dissectors/packet-rsl.c
epan/dissectors/packet-rsvp.c
epan/dissectors/packet-rtcp.c
epan/dissectors/packet-rtmpt.c
epan/dissectors/packet-rtp.c
epan/dissectors/packet-rudp.c
epan/dissectors/packet-sabp.c
epan/dissectors/packet-sccp.c
epan/dissectors/packet-scsi-osd.c
epan/dissectors/packet-sdp.c
epan/dissectors/packet-selfm.c
epan/dissectors/packet-sercosiii.c
epan/dissectors/packet-ses.c
epan/dissectors/packet-sgsap.c
epan/dissectors/packet-sigcomp.c
epan/dissectors/packet-sip.c
epan/dissectors/packet-smb-direct.c
epan/dissectors/packet-smb.c
epan/dissectors/packet-smb2.c
epan/dissectors/packet-sndcp-xid.c
epan/dissectors/packet-snmp.c
epan/dissectors/packet-spice.c
epan/dissectors/packet-spnego.c
epan/dissectors/packet-srp.c
epan/dissectors/packet-sscop.c
epan/dissectors/packet-stun.c
epan/dissectors/packet-sua.c
epan/dissectors/packet-tacacs.c
epan/dissectors/packet-tcap.c
epan/dissectors/packet-telnet.c
epan/dissectors/packet-tetra.c
epan/dissectors/packet-tipc.c
epan/dissectors/packet-tnef.c
epan/dissectors/packet-ua.c
epan/dissectors/packet-uasip.c
epan/dissectors/packet-uaudp.c
epan/dissectors/packet-ucp.c
epan/dissectors/packet-uma.c
epan/dissectors/packet-umts_fp.c
epan/dissectors/packet-usb-ccid.c
epan/dissectors/packet-usb.c
epan/dissectors/packet-user_encap.c
epan/dissectors/packet-v52.c
epan/dissectors/packet-v5ua.c
epan/dissectors/packet-wassp.c
epan/dissectors/packet-winsrepl.c
epan/dissectors/packet-wsp.c
epan/dissectors/packet-wtp.c
epan/dissectors/packet-xmcp.c
epan/dissectors/packet-xml.c
epan/dissectors/packet-zbee-aps.c
epan/dissectors/packet-zbee-nwk-gp.c
epan/dissectors/packet-zbee-nwk.c
epan/dissectors/packet-zbee-security.c
epan/dissectors/packet-zbee-zcl.c
epan/dissectors/packet-zbee-zdp.c
epan/dissectors/packet-zep.c
plugins/docsis/packet-bpkmattr.c
plugins/docsis/packet-macmgmt.c
plugins/docsis/packet-tlv.c
plugins/ethercat/packet-ecatmb.c
plugins/ethercat/packet-esl.c
plugins/ethercat/packet-ethercat-datagram.c
plugins/gryphon/packet-gryphon.c
plugins/irda/packet-ircomm.c
plugins/irda/packet-sir.c
plugins/m2m/packet-m2m.c
plugins/profinet/packet-dcerpc-pn-io.c
plugins/profinet/packet-pn-rt.c

index d457458668961155d1c50323739772b1899d2c1f..a8104ad82aadcbfa432ec82405476f8727367d78 100644 (file)
@@ -1203,7 +1203,7 @@ static int dissect_h248_PropertyID(gboolean implicit_tag _U_, tvbuff_t *tvb, int
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     name_minor = packageandid & 0xffff;
 
@@ -1285,7 +1285,7 @@ static int dissect_h248_SigParamValue(gboolean implicit_tag _U_, tvbuff_t *tvb,
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     if ( curr_info.par && curr_info.par->dissector) {
         curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
@@ -1363,7 +1363,7 @@ static int dissect_h248_EventParamValue(gboolean implicit_tag _U_, tvbuff_t *tvb
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     if ( curr_info.par && curr_info.par->dissector) {
         curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
index e1f806ee0208c851461f87f54d35910d2512bc14..d97ca666b1b506540b61cc5e274114d0859646b1 100644 (file)
@@ -625,7 +625,7 @@ dissect_ldap_AssertionValue(gboolean implicit_tag, tvbuff_t *tvb, int offset, as
                char *tmpstr;
 
                /* this octet string contains an NT SID */
-               sid_tvb=tvb_new_subset(tvb, offset, len, len);
+               sid_tvb=tvb_new_subset_length(tvb, offset, len);
                dissect_nt_sid(sid_tvb, 0, tree, "SID", &tmpstr, hf_index);
                ldapvalue_string=tmpstr;
 
index f3cd825b7050f4e2679cf6d64043203f0df98154..7ebae266833b72e2477fe31b96c8af39988c566c 100644 (file)
@@ -1983,7 +1983,7 @@ dissect_lte_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree
   }
   for (i = 0, offset = 1; i < nb_of_pages; i++) {
     length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
-    cb_data_page_tvb = tvb_new_subset(warning_msg_seg_tvb, offset, length, length);
+    cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
     cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
     if (cb_data_tvb) {
       str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
index ead94ed6985892cfc95af13f5c165726b8b33ace..94b7875df679a74d87c8bb29a05f8e606bb456f9 100644 (file)
@@ -499,8 +499,8 @@ dissect_mpeg_pes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
                        header_length = tvb_get_guint8(tvb, 8);
                        if (header_length > 0) {
                                int flags = tvb_get_guint8(tvb, 7);
-                               tvbuff_t *header_data = tvb_new_subset(tvb, offset / 8,
-                                               header_length, header_length);
+                               tvbuff_t *header_data = tvb_new_subset_length(tvb, offset / 8,
+                                               header_length);
                                dissect_mpeg_pes_header_data(header_data, pinfo, tree, flags);
                                offset += header_length * 8;
                                 /* length may be zero for Video stream */
index fc4e4eec1f69ff3d79c7ef6dc63c13e219e11748..be575dd0be63dc209e31717ef23db5b22e0ed37c 100644 (file)
@@ -70,7 +70,7 @@ Invoke/argument  TYPE = FT_BYTES  DISPLAY = BASE_NONE
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  arg_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  arg_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 #.END
@@ -88,7 +88,7 @@ ReturnResult/result/result  TYPE = FT_BYTES  DISPLAY = BASE_NONE
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  res_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  res_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 
@@ -108,7 +108,7 @@ ReturnError/parameter  TYPE = FT_BYTES  DISPLAY = BASE_NONE
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  err_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  err_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 #.END
index 5e3df6db11474a3f1fbc97172c1431f6f8d6dc67..925d370fc675b46315138b0da8315473605b2300 100644 (file)
@@ -151,7 +151,7 @@ dissect_q932_facility_ie(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tr
     offset = get_ber_identifier(tvb, offset, &appclass, &pc, &tag);
     offset = get_ber_length(tvb, offset, &len, NULL);
     eoffset = offset + len;
-    next_tvb =  tvb_new_subset(tvb, hoffset, eoffset - hoffset, eoffset - hoffset);
+    next_tvb =  tvb_new_subset_length(tvb, hoffset, eoffset - hoffset);
     switch (appclass) {
       case BER_CLASS_CON:
         switch (tag) {
index a987770203e9552386c809d342eac804c5fdc690..28c267b1f97ab287b32c00ec408e31fe39515f49 100644 (file)
@@ -150,7 +150,7 @@ dissect_sabp_cb_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     /* octet 2 - 83 CBS-Message-Information-Page 1  */
     cbs_page_item = proto_tree_add_item(subtree, hf_sabp_cb_msg_inf_page, tvb, offset, 82, ENC_BIG_ENDIAN);
     cb_inf_msg_len = tvb_get_guint8(tvb,offset+82);
-    page_tvb = tvb_new_subset(tvb, offset, cb_inf_msg_len, cb_inf_msg_len);
+    page_tvb = tvb_new_subset_length(tvb, offset, cb_inf_msg_len);
     unpacked_tvb = dissect_cbs_data(sms_encoding, page_tvb, subtree, pinfo, 0);
     len = tvb_length(unpacked_tvb);
     if (unpacked_tvb != NULL){
index dbf19c28de8d5ae01dce48e649baf19851158b0c..b8ef80c58463472a429e6cb17f999d28607b093c 100644 (file)
@@ -1026,7 +1026,7 @@ already_added:
        pt_value = proto_item_add_subtree(pi_value,ett_value);
 
        if (value_len > 0 && oid_string) {
-               tvbuff_t* sub_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
+               tvbuff_t* sub_tvb = tvb_new_subset_length(tvb, value_offset, value_len);
 
                next_tvb_add_string(&var_list, sub_tvb, (snmp_var_in_tree) ? pt_value : NULL, value_sub_dissectors_table, oid_string);
        }
index 801ba66de7191ae9dd5d8a0393627151da531ad0..748c22d30b1d6e311e241baa98314c7f14458b0d 100644 (file)
@@ -828,8 +828,8 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                                */
                                return offset;
                        }
-                       pinfo->gssapi_encrypted_tvb = tvb_new_subset(
-                                       tvb, offset, len, len);
+                       pinfo->gssapi_encrypted_tvb = tvb_new_subset_length(
+                                       tvb, offset, len);
                }
 
                /* if this is KRB5 wrapped rc4-hmac */
@@ -840,9 +840,8 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                           as well ?
                        */
                        if(!pinfo->gssapi_wrap_tvb){
-                               pinfo->gssapi_wrap_tvb = tvb_new_subset(
+                               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(
                                        tvb, start_offset-2,
-                                       GSS_ARCFOUR_WRAP_TOKEN_SIZE,
                                        GSS_ARCFOUR_WRAP_TOKEN_SIZE);
                        }
 #if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
@@ -1045,8 +1044,8 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                inner_token_len = tvb_reported_length_remaining(tvb, offset) -
                                        ec;
 
-               pinfo->gssapi_wrap_tvb = tvb_new_subset(tvb, offset,
-                                               inner_token_len, inner_token_len);
+               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(tvb, offset,
+                                               inner_token_len);
 
                offset += inner_token_len;
 
@@ -1083,9 +1082,8 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                           as well ?
                        */
                        if(!pinfo->gssapi_wrap_tvb){
-                               pinfo->gssapi_wrap_tvb = tvb_new_subset(
+                               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(
                                        tvb, start_offset-2,
-                                       offset - (start_offset-2),
                                        offset - (start_offset-2));
                        }
                }
@@ -1093,7 +1091,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
 
 #if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
 {
-       tvbuff_t *checksum_tvb = tvb_new_subset(tvb, 16, checksum_size, checksum_size);
+       tvbuff_t *checksum_tvb = tvb_new_subset_length(tvb, 16, checksum_size);
 
        if (pinfo->gssapi_data_encrypted) {
                if(pinfo->gssapi_encrypted_tvb){
index b1ffeb3557bda6937d3d03a064dd4e897e0cb930..56370824f5f15563b40c3064a1c643fe49c1d4e8 100644 (file)
@@ -2291,8 +2291,7 @@ dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset
 
             if (len-(2*ind_field)) /*should always be positive unless we get an empty contructor pointless? */
             {
-                next_tvb = tvb_new_subset(tvb, offset, len-(2*ind_field),
-                    len-(2*ind_field));
+                next_tvb = tvb_new_subset_length(tvb, offset, len-(2*ind_field));
                 dissect_tcap_param(actx, subtree,next_tvb,0);
             }
 
@@ -2317,7 +2316,7 @@ dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset
 
             if (len) /* check for NULLS */
             {
-                next_tvb = tvb_new_subset(tvb, offset, len, len);
+                next_tvb = tvb_new_subset_length(tvb, offset, len);
                 dissect_ber_octet_string(TRUE, actx, tree, next_tvb, 0,
                     hf_tcap_data, NULL);
             }
index fdcc68fa2f8492850fe21f5e4c62d7a90a500748..91392af735385dde1fab0ddc4da64134bd312465 100644 (file)
@@ -89,7 +89,7 @@ gint ind_field;
 comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
 comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
 /* we can believe the length now */
-next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset);
+next_tvb = tvb_new_subset_length(tvb, offset, len+comp_offset-offset);
 
 if (!next_tvb)
   return comp_offset;
index 4caf4dc578801bf38b020a36ba9e368c5bd3421d..28e0c82994a33bb00865605409b316b2449860a5 100644 (file)
@@ -372,7 +372,7 @@ static void dissect_tetra_UNITDATA_IND(tvbuff_t *tvb, packet_info *pinfo, proto_
                if ((remaining_bits)!=0)
                        byte_len++;
 
-               payload_tvb = tvb_new_subset(tvb, pdu_offset, byte_len, byte_len);
+               payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
                tetra_dissect_pdu(channel_type, TETRA_UPLINK, payload_tvb, tetra_header_tree, pinfo);
 
                if ((remaining_bits)!=0)
@@ -428,7 +428,7 @@ static void dissect_tetra_UNITDATA_REQ(tvbuff_t *tvb, packet_info *pinfo, proto_
                if ((remaining_bits)!=0)
                                byte_len++;
 
-               payload_tvb = tvb_new_subset(tvb, pdu_offset, byte_len, byte_len);
+               payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
                tetra_dissect_pdu(channel_type, TETRA_DOWNLINK, payload_tvb, tetra_header_tree, pinfo);
                pdu_offset += byte_len;
        }
index f5865e3d39b41dddc718ab20be2a3a3116b6a710..cd3c42339e8a2e04f0f3b932dea5412b21dd51c3 100644 (file)
@@ -819,7 +819,7 @@ dissect_jfif(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
             if (marker_has_length(marker)) { /* Marker segment */
                 /* Length of marker segment = 2 + len */
                 const guint16 len = tvb_get_ntohs(tvb, start_marker + 2);
-                tvbuff_t *tmp_tvb = tvb_new_subset(tvb, start_marker, 2 + len, 2 + len);
+                tvbuff_t *tmp_tvb = tvb_new_subset_length(tvb, start_marker, 2 + len);
                 switch (marker) {
                     case MARKER_APP0:
                         process_app0_segment(subtree, tmp_tvb, len, marker, str);
index b01da114a5a6e51f41adb8ead66be60e4c31f0f2..4d19f19da81333d87f64c67e7c76d8ed9dc3f105 100644 (file)
@@ -490,7 +490,7 @@ dissect_png(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *da
         proto_tree_add_item(chunk_tree, &hfi_png_chunk_flag_stc, tvb, offset, 4, ENC_BIG_ENDIAN);
         offset+=4;
 
-        chunk_tvb=tvb_new_subset(tvb, offset, len_field, len_field);
+        chunk_tvb=tvb_new_subset_length(tvb, offset, len_field);
         switch (type) {
             case CHUNK_TYPE_IHDR:
                 dissect_png_ihdr(chunk_tvb, pinfo, chunk_tree);
index 0063b15ee5c3c88624dde395cbd56edec5a33049..ba132664f532b46b76bbbc0dc792ea35f798440a 100644 (file)
@@ -1895,7 +1895,7 @@ dissect_6lowpan_iphc_nhc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gi
         }
 
         /* Display the extension header using the data dissector. */
-        call_dissector(data_handle, tvb_new_subset(tvb, offset, ext_len, ext_len), pinfo, nhc_tree);
+        call_dissector(data_handle, tvb_new_subset_length(tvb, offset, ext_len), pinfo, nhc_tree);
 
         /* Copy the extension header into the struct. */
         tvb_memcpy(tvb, LOWPAN_NHDR_DATA(nhdr) + sizeof(struct ip6_ext), offset, ext_len);
index 31acf42a963315524ee7269e423c53df3e7565d0..a5ebe028bb423471a7159e1895d3feddd8241a8b 100644 (file)
@@ -367,7 +367,7 @@ dissect_a21_gcsna_pdu(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, p
        /* only dissect it to octetstring */
        proto_tree_add_item(tree, hf_a21_gcsna_content, tvb, offset, length, ENC_NA);
        if(gcsna_handle){
-               new_tvb = tvb_new_subset(tvb, offset, length, length);
+               new_tvb = tvb_new_subset_length(tvb, offset, length);
                /* call the dissector with the parent (top)tree */
                call_dissector(gcsna_handle, new_tvb, pinfo, a21_tree->parent);
        }
index cd42ba73040167e8ea0b14904fc37201a16ed468..564f500d16c3253d1d3efdb62a60fa233c21f44c 100644 (file)
@@ -433,7 +433,7 @@ dissect_aasp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
 #endif
                 default:       i = searchNext(tvb, i+1, n); break;
                 }
-                dissect_a_binary_command(tvb_new_subset(tvb, prev, i-prev, i-prev), pinfo, aasp_tree);
+                dissect_a_binary_command(tvb_new_subset_length(tvb, prev, i-prev), pinfo, aasp_tree);
                 prev = i;
             }
         }
index feb3026d4d8b7a5cf2af68294bd5db6fbdd378db..47bdb72eb7b1bd14052e61c508b10caa1bd82f0a 100644 (file)
@@ -342,7 +342,7 @@ dissect_acr122(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
         switch (command) {
         case CMD_DIRECT_TRANSMIT:
             if (length > 0) {
-                next_tvb = tvb_new_subset(tvb, offset, length, length);
+                next_tvb = tvb_new_subset_length(tvb, offset, length);
                 call_dissector_with_data(pn532_handle, next_tvb, pinfo, tree, usb_conv_info);
                 offset += length;
             }
@@ -523,7 +523,7 @@ dissect_acr122(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             use_status_word = TRUE;
 
             if (tvb_length_remaining(tvb, offset) > 2) {
-                next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset) - 2, tvb_length_remaining(tvb, offset) - 2);
+                next_tvb = tvb_new_subset_length(tvb, offset, tvb_length_remaining(tvb, offset) - 2);
                 call_dissector_with_data(pn532_handle, next_tvb, pinfo, tree, usb_conv_info);
                 offset += tvb_length_remaining(tvb, offset) - 2;
             }
index 8a850c0ae82a0937c1e95331015c197dfd7f2427..ecfb860bda1177111fd0a582d418bff7e5ff3ccd 100644 (file)
@@ -685,7 +685,7 @@ static void dissect_actrace_isdn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
 
        /* Dissect lapd payload */
        offset += 2 ;
-       next_tvb = tvb_new_subset(tvb, offset, len, len);
+       next_tvb = tvb_new_subset_length(tvb, offset, len);
        call_dissector(lapd_handle, next_tvb, pinfo, tree);
 
        col_set_str(pinfo->cinfo, COL_PROTOCOL, "AC_ISDN");
index ffbefa7491e347e574298a5bd205be19d2e418dd..dd3ec9c8cb74aa0512dff5e28b862131a2deca27 100644 (file)
@@ -688,7 +688,7 @@ dissect_adb_cs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
                     }
 
                     if (tvb_length_remaining(next_tvb, i_offset) >= 4 && tvb_length_remaining(next_tvb, i_offset) >= logcat_length) {
-                        new_tvb = tvb_new_subset(next_tvb, i_offset, logcat_length, logcat_length);
+                        new_tvb = tvb_new_subset_length(next_tvb, i_offset, logcat_length);
 
                         call_dissector(logcat_handle, new_tvb, pinfo, main_tree);
                         i_offset += logcat_length;
index ded8c5a4d352343cac58985880bfead691b6a160..3bb42020623c5ff339e77a432fc16b4d84ba4aa2 100644 (file)
@@ -4430,7 +4430,7 @@ spotlight_dissect_query_loop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
                                } else {
                                        item_query = proto_tree_add_text(tree, tvb, offset, query_length, "filemeta");
                                        sub_tree = proto_item_add_subtree(item_query, ett_afp_spotlight_query_line);
-                                       spotlight_tvb = tvb_new_subset(tvb, offset+8, query_length, query_length);
+                                       spotlight_tvb = tvb_new_subset_length(tvb, offset+8, query_length);
                                        call_dissector(spotlight_handle, spotlight_tvb, pinfo, sub_tree);
                                }
                                break;
index c78f0e4dd433d81efd38be611c6fca3fbb964cf7..f3616b2f5cc9de525e515b0d00159c5a451097dd 100644 (file)
@@ -1346,7 +1346,7 @@ dissect_aim_tlv(tvbuff_t *tvb, packet_info *pinfo _U_, int offset,
                                          "Value");
 
                if (tmp[i].dissector) {
-                       tmp[i].dissector(ti1, valueid, tvb_new_subset(tvb, offset, length, length), pinfo);
+                       tmp[i].dissector(ti1, valueid, tvb_new_subset_length(tvb, offset, length), pinfo);
                }
 
                offset += length;
index e5c2b944ec742e1a2e61feaaa301d83443d2e75d..d627527e72540fbc8e17868586c8b2b674c92dff 100644 (file)
@@ -2164,7 +2164,7 @@ trans_param_bearer_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_,
     /*
      * dissect the embedded teleservice data
      */
-    tele_tvb = tvb_new_subset(tvb, offset, len, len);
+    tele_tvb = tvb_new_subset_length(tvb, offset, len);
 
     dissector_try_uint(tele_dissector_table, ansi_637_trans_tele_id, tele_tvb, pinfo, g_tree);
 }
index edd778d7b8fba4db2216734cd9382316619289f4..634ec666d80c5abacb1a49b7916c4668dd36f86a 100644 (file)
@@ -3721,7 +3721,7 @@ elem_l3_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 offset
     /*
      * dissect the embedded DTAP message
      */
-    l3_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+    l3_tvb = tvb_new_subset_length(tvb, curr_offset, len);
 
     call_dissector(dtap_handle, l3_tvb, pinfo, data_p->g_tree);
 
@@ -4780,14 +4780,14 @@ elem_adds_user_part(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32
     switch (oct & 0x3f)
     {
     case ADDS_APP_SMS:
-        adds_tvb = tvb_new_subset(tvb, curr_offset, len - 1, len - 1);
+        adds_tvb = tvb_new_subset_length(tvb, curr_offset, len - 1);
 
         dissector_try_uint(is637_dissector_table, 0, adds_tvb, pinfo, data_p->g_tree);
         curr_offset += (len - 1);
         break;
 
     case ADDS_APP_OTA:
-        adds_tvb = tvb_new_subset(tvb, curr_offset, len - 1, len - 1);
+        adds_tvb = tvb_new_subset_length(tvb, curr_offset, len - 1);
 
         dissector_try_uint(is683_dissector_table, data_p->is_reverse, adds_tvb, pinfo, data_p->g_tree);
 
@@ -4795,7 +4795,7 @@ elem_adds_user_part(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32
         break;
 
     case ADDS_APP_PDS:
-        adds_tvb = tvb_new_subset(tvb, curr_offset, len - 1, len - 1);
+        adds_tvb = tvb_new_subset_length(tvb, curr_offset, len - 1);
 
         dissector_try_uint(is801_dissector_table, data_p->is_reverse, adds_tvb, pinfo, data_p->g_tree);
 
index 9399597f14da36557426da6b2e7058f44344f043..bf233212f1679f502f6fac6cf47fc2486ef06f3e 100644 (file)
@@ -1638,7 +1638,7 @@ dissect_artnet_output(tvbuff_t *tvb, guint offset, proto_tree *tree, packet_info
   save_info = col_get_writable(pinfo->cinfo);
   col_set_writable(pinfo->cinfo, FALSE);
 
-  next_tvb = tvb_new_subset(tvb, offset, length, length);
+  next_tvb = tvb_new_subset_length(tvb, offset, length);
 
   /* XXX: Assumption: OK to call dmx-chan dissector under 'if (tree)' */
   call_dissector(dmx_chan_handle, next_tvb, pinfo, base_tree);
index 8742ccca24d18e24b5c9f3bf38d0f3cc0293ae53..4c1e6de52cff1e7047ae24c551ab61024fcdaba3 100644 (file)
@@ -229,7 +229,7 @@ dissect_error_causes(tvbuff_t *error_causes_tvb, proto_tree *parameter_tree)
   while(tvb_reported_length_remaining(error_causes_tvb, offset) > 0) {
     length          = tvb_get_ntohs(error_causes_tvb, offset + CAUSE_LENGTH_OFFSET);
     total_length    = ADD_PADDING(length);
-    error_cause_tvb = tvb_new_subset(error_causes_tvb, offset , total_length, total_length);
+    error_cause_tvb = tvb_new_subset_length(error_causes_tvb, offset , total_length);
     dissect_error_cause(error_cause_tvb, parameter_tree);
     offset += total_length;
   }
@@ -728,7 +728,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, proto_tree *tree)
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
     dissect_parameter(parameter_tvb, tree);
     /* get rid of the handled parameter */
     offset += total_length;
index 5ab0cab8550a52b4508cfe3c1131c43ab8a40074..69a14c66593740a9317bce0521f0c5f36929027f 100644 (file)
@@ -189,7 +189,7 @@ dissect_asf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
                /* TODO: Add the rest as captures become available to test. */
 
                default:
-                       next_tvb = tvb_new_subset(tvb, 8, len, len);
+                       next_tvb = tvb_new_subset_length(tvb, 8, len);
                        call_dissector(data_handle, next_tvb, pinfo, tree);
                        break;
                }
index f57027768259a26ce4fcbff07836ac3375e3c2ea..3dcbf827257bc2f95387fd74665dfa7d9b11bf90 100644 (file)
@@ -3596,7 +3596,7 @@ dissect_r3_upstreamfields (tvbuff_t *tvb, guint32 start_offset, guint32 length,
        */
       case UPSTREAMFIELD_SERIALNUMBER :
         {
-          tvbuff_t *sn_tvb = tvb_new_subset (tvb, offset, dataLength, dataLength);
+          tvbuff_t *sn_tvb = tvb_new_subset_length (tvb, offset, dataLength);
 
           dissect_serialnumber (sn_tvb, 0, length, pinfo, upstreamfield_tree, hf_r3_upstreamfieldarray [fieldType]);
         }
@@ -5055,7 +5055,7 @@ dissect_r3_response_hasdata (tvbuff_t *tvb, guint32 start_offset, guint32 length
     }
     tvb_ensure_bytes_exist (tvb, 0, commandPacketLen - 4);
 
-    upstreamcommand_tvb = tvb_new_subset (tvb, 4, commandPacketLen - 4, commandPacketLen - 4);
+    upstreamcommand_tvb = tvb_new_subset_length (tvb, 4, commandPacketLen - 4);
     if (r3upstreamcommand_dissect [upstreamCmd])
       (*r3upstreamcommand_dissect [upstreamCmd]) (upstreamcommand_tvb, 0, commandPacketLen - 4, pinfo, upstreamcommand_tree);
   }
@@ -5071,7 +5071,7 @@ dissect_r3_cmd_response (tvbuff_t *tvb, guint32 start_offset, guint32 length, pa
 {
   guint8          responseLen  = tvb_get_guint8 (tvb, start_offset + 0);
   responseType_e  responseType = (responseType_e)tvb_get_guint8 (tvb, start_offset + 2);
-  tvbuff_t       *payload_tvb  = tvb_new_subset (tvb, start_offset, responseLen, responseLen);
+  tvbuff_t       *payload_tvb  = tvb_new_subset_length (tvb, start_offset, responseLen);
 
   if (tree)
   {
@@ -5147,7 +5147,7 @@ dissect_r3_cmd_setdatetime (tvbuff_t *tvb, guint32 start_offset, guint32 length
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5193,7 +5193,7 @@ dissect_r3_cmd_setconfig (tvbuff_t *tvb, guint32 start_offset, guint32 length _U
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5295,7 +5295,7 @@ static void
 dissect_r3_cmd_manageuser (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo, proto_tree *tree)
 {
   guint8    cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  tvbuff_t *payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
   guint32   offset      = 0;
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
@@ -5436,7 +5436,7 @@ dissect_r3_cmd_deleteusers (tvbuff_t *tvb, guint32 start_offset, guint32 length
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5458,7 +5458,7 @@ dissect_r3_cmd_defineexception (tvbuff_t *tvb, guint32 start_offset, guint32 len
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5504,7 +5504,7 @@ dissect_r3_cmd_defineexceptiongroup (tvbuff_t *tvb, guint32 start_offset, guint3
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5537,7 +5537,7 @@ dissect_r3_cmd_definecalendar (tvbuff_t *tvb, guint32 start_offset, guint32 leng
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5581,7 +5581,7 @@ dissect_r3_cmd_definetimezone (tvbuff_t *tvb, guint32 start_offset, guint32 leng
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5628,7 +5628,7 @@ dissect_r3_cmd_rmtauthretry (tvbuff_t *tvb, guint32 start_offset, guint32 length
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5650,7 +5650,7 @@ dissect_r3_cmd_filters (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_,
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5679,7 +5679,7 @@ dissect_r3_cmd_alarmconfigure (tvbuff_t *tvb, guint32 start_offset, guint32 leng
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5741,7 +5741,7 @@ dissect_r3_cmd_eventlogdump (tvbuff_t *tvb, guint32 start_offset, guint32 length
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5791,7 +5791,7 @@ dissect_r3_cmd_declinedlogdump (tvbuff_t *tvb, guint32 start_offset, guint32 len
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5839,7 +5839,7 @@ dissect_r3_cmd_alarmlogdump (tvbuff_t *tvb, guint32 start_offset, guint32 length
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5885,7 +5885,7 @@ dissect_r3_cmd_downloadfirmware (tvbuff_t *tvb, guint32 start_offset, guint32 le
   guint32     calculatedCRC;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   if (tree)
   {
@@ -5979,7 +5979,7 @@ dissect_r3_cmd_downloadfirmwaretimeout (tvbuff_t *tvb, guint32 start_offset, gui
   if (tree)
   {
     cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-    payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+    payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
     proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
     proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -5999,7 +5999,7 @@ dissect_r3_cmd_powertableselection (tvbuff_t *tvb, guint32 start_offset, guint32
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -6021,7 +6021,7 @@ dissect_r3_cmd_clearnvram (tvbuff_t *tvb, guint32 start_offset, guint32 length _
     return;
 
   cmdLen            = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb       = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb       = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -6045,7 +6045,7 @@ dissect_r3_cmd_dpac (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, pa
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -6086,7 +6086,7 @@ dissect_r3_cmd_logwrite (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_
     return;
 
   cmdLen      = tvb_get_guint8 (tvb, start_offset + 0);
-  payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2);
+  payload_tvb = tvb_new_subset_length (tvb, start_offset + 2, cmdLen - 2);
 
   proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, ENC_LITTLE_ENDIAN);
   proto_tree_add_item (tree, hf_r3_command,       tvb, start_offset + 1, 1, ENC_LITTLE_ENDIAN);
@@ -6132,7 +6132,7 @@ dissect_r3_cmd_extendedresponse (tvbuff_t *tvb, guint32 start_offset, guint32 le
 static void
 dissect_r3_cmdmfg_setserialnumber (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree)
 {
-  tvbuff_t *sn_tvb = tvb_new_subset (tvb, start_offset + 2, 16, 16);
+  tvbuff_t *sn_tvb = tvb_new_subset_length (tvb, start_offset + 2, 16);
 
   if (tree)
   {
index ac8eeae45471754c95aa5e3728df451f8993c42a..f3232b843542dc38ebdc3b67256e8f6620b9b745 100644 (file)
@@ -1096,7 +1096,7 @@ dissect_reassembled_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
             ti = proto_tree_add_uint(atm_tree, hf_atm_aal5_crc, tvb, length - 4, 4, crc);
             proto_item_append_text(ti, (calc_crc == 0xC704DD7B) ? " (correct)" : " (incorrect)");
           }
-          next_tvb = tvb_new_subset(tvb, 0, aal5_length, aal5_length);
+          next_tvb = tvb_new_subset_length(tvb, 0, aal5_length);
         }
       }
     }
index 04e4e3f3d9155652d6317723df5dfa221da3e6ca..ffea48911c586aaf7bcb98d3d8148335c81dff86 100644 (file)
@@ -313,7 +313,7 @@ static int dissect_bat_batman_v5(tvbuff_t *tvb, int offset, packet_info *pinfo,
        tap_queue_packet(bat_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->hna_len; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 5, 5);
+               next_tvb = tvb_new_subset_length(tvb, offset, 5);
 
                if (have_tap_listener(bat_follow_tap)) {
                        tap_queue_packet(bat_follow_tap, pinfo, next_tvb);
@@ -517,7 +517,7 @@ static void dissect_bat_vis_v22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
        length_remaining = tvb_reported_length_remaining(tvb, offset);
 
        for (i = 0; i < length_remaining; i += VIS_PACKET_V22_DATA_SIZE) {
-               next_tvb = tvb_new_subset(tvb, offset, VIS_PACKET_V22_DATA_SIZE, VIS_PACKET_V22_DATA_SIZE);
+               next_tvb = tvb_new_subset_length(tvb, offset, VIS_PACKET_V22_DATA_SIZE);
 
                if (have_tap_listener(bat_follow_tap)) {
                        tap_queue_packet(bat_follow_tap, pinfo, next_tvb);
@@ -650,7 +650,7 @@ static void dissect_bat_vis_v23(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
        length_remaining = tvb_reported_length_remaining(tvb, offset);
 
        for (i = 0; i < length_remaining; i += VIS_PACKET_V23_DATA_SIZE) {
-               next_tvb = tvb_new_subset(tvb, offset, VIS_PACKET_V23_DATA_SIZE, VIS_PACKET_V23_DATA_SIZE);
+               next_tvb = tvb_new_subset_length(tvb, offset, VIS_PACKET_V23_DATA_SIZE);
 
                if (have_tap_listener(bat_follow_tap)) {
                        tap_queue_packet(bat_follow_tap, pinfo, next_tvb);
index 1a52fc45d5d6bd9a9d452771bf23c19d2bd82fd5..3a6b5ae13f88c797043e3e3d58f58183bc0e0d21 100644 (file)
@@ -630,7 +630,7 @@ static void dissect_batman_plugin(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
                length_remaining = tvb_length_remaining(tvb, 0);
                if (length_remaining > 0) {
-                       next_tvb = tvb_new_subset(tvb, 0, length_remaining, -1);
+                       next_tvb = tvb_new_subset_remaining(tvb, 0);
                        call_dissector(data_handle, next_tvb, pinfo, tree);
                }
                break;
@@ -808,7 +808,7 @@ static int dissect_batadv_batman_v5(tvbuff_t *tvb, int offset, packet_info *pinf
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->num_tt; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 6, 6);
+               next_tvb = tvb_new_subset_length(tvb, offset, 6);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -909,7 +909,7 @@ static int dissect_batadv_batman_v7(tvbuff_t *tvb, int offset, packet_info *pinf
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->num_tt; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 6, 6);
+               next_tvb = tvb_new_subset_length(tvb, offset, 6);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1019,7 +1019,7 @@ static int dissect_batadv_batman_v9(tvbuff_t *tvb, int offset, packet_info *pinf
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->num_tt; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 6, 6);
+               next_tvb = tvb_new_subset_length(tvb, offset, 6);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1129,7 +1129,7 @@ static int dissect_batadv_batman_v10(tvbuff_t *tvb, int offset, packet_info *pin
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->num_tt; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 6, 6);
+               next_tvb = tvb_new_subset_length(tvb, offset, 6);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1231,7 +1231,7 @@ static int dissect_batadv_batman_v11(tvbuff_t *tvb, int offset, packet_info *pin
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->num_tt; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, 6, 6);
+               next_tvb = tvb_new_subset_length(tvb, offset, 6);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1348,7 +1348,7 @@ static int dissect_batadv_batman_v14(tvbuff_t *tvb, int offset, packet_info *pin
        tap_queue_packet(batadv_tap, pinfo, batman_packeth);
 
        for (i = 0; i < batman_packeth->tt_num_changes; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, TT_ENTRY_V14_SIZE, TT_ENTRY_V14_SIZE);
+               next_tvb = tvb_new_subset_length(tvb, offset, TT_ENTRY_V14_SIZE);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1360,7 +1360,7 @@ static int dissect_batadv_batman_v14(tvbuff_t *tvb, int offset, packet_info *pin
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
                call_dissector(data_handle, next_tvb, pinfo, tree);
        }
 
@@ -1477,7 +1477,7 @@ static void dissect_batadv_bcast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tre
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
                }
@@ -1545,7 +1545,7 @@ static void dissect_batadv_bcast_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tr
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1618,7 +1618,7 @@ static void dissect_batadv_bcast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tr
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -1735,7 +1735,7 @@ static void dissect_batadv_icmp_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                call_dissector(data_handle, next_tvb, pinfo, tree);
        }
@@ -1850,7 +1850,7 @@ static void dissect_batadv_icmp_v7(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
                call_dissector(data_handle, next_tvb, pinfo, tree);
        }
 }
@@ -2031,7 +2031,7 @@ static void dissect_batadv_unicast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_t
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2100,7 +2100,7 @@ static void dissect_batadv_unicast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2200,7 +2200,7 @@ static void dissect_batadv_unicast_4addr_v14(tvbuff_t *tvb, packet_info *pinfo,
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2578,7 +2578,7 @@ static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
        }
 
        for (i = 0; i < vis_packeth->entries; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, entry_size, entry_size);
+               next_tvb = tvb_new_subset_length(tvb, offset, entry_size);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2603,7 +2603,7 @@ static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2695,7 +2695,7 @@ static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree
        tap_queue_packet(batadv_tap, pinfo, vis_packeth);
 
        for (i = 0; i < vis_packeth->entries; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, VIS_ENTRY_V8_SIZE, VIS_ENTRY_V8_SIZE);
+               next_tvb = tvb_new_subset_length(tvb, offset, VIS_ENTRY_V8_SIZE);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2707,7 +2707,7 @@ static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2803,7 +2803,7 @@ static void dissect_batadv_vis_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree
        tap_queue_packet(batadv_tap, pinfo, vis_packeth);
 
        for (i = 0; i < vis_packeth->entries; i++) {
-               next_tvb = tvb_new_subset(tvb, offset, VIS_ENTRY_V8_SIZE, VIS_ENTRY_V8_SIZE);
+               next_tvb = tvb_new_subset_length(tvb, offset, VIS_ENTRY_V8_SIZE);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2815,7 +2815,7 @@ static void dissect_batadv_vis_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -2998,7 +2998,7 @@ static void dissect_batadv_tt_query_v14(tvbuff_t *tvb, packet_info *pinfo _U_, p
 
        if (tt_type == TT_RESPONSE) {
                for (i = 0; i < tt_query_packeth->tt_data; i++) {
-                       next_tvb = tvb_new_subset(tvb, offset, TT_ENTRY_V14_SIZE, TT_ENTRY_V14_SIZE);
+                       next_tvb = tvb_new_subset_length(tvb, offset, TT_ENTRY_V14_SIZE);
 
                        if (have_tap_listener(batadv_follow_tap)) {
                                tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -3011,7 +3011,7 @@ static void dissect_batadv_tt_query_v14(tvbuff_t *tvb, packet_info *pinfo _U_, p
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
@@ -3143,7 +3143,7 @@ static void dissect_batadv_roam_adv_v14(tvbuff_t *tvb, packet_info *pinfo, proto
 
        length_remaining = tvb_length_remaining(tvb, offset);
        if (length_remaining > 0) {
-               next_tvb = tvb_new_subset(tvb, offset, length_remaining, -1);
+               next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (have_tap_listener(batadv_follow_tap)) {
                        tap_queue_packet(batadv_follow_tap, pinfo, next_tvb);
index 7bf74a396b7b6786cf38817c5ed5cc7187c3d178..2c25f881cfc5b214db1704f8679804be71d88e96 100644 (file)
@@ -669,7 +669,7 @@ printf("dissect_ber_tagged_type(%s) entered\n", name);
         length_remaining = tvb_length_remaining(tvb, offset);
         if (tmp_len > (guint32)length_remaining)
             tmp_len = length_remaining;
-        next_tvb = tvb_new_subset(tvb, offset, tmp_len, tmp_len);
+        next_tvb = tvb_new_subset_length(tvb, offset, tmp_len);
         type(tag_impl, next_tvb, 0, actx, tree, hf_id);
         offset += tmp_len;
     } else {
@@ -1710,7 +1710,7 @@ printf("OCTET STRING dissect_ber_octet_string(%s) entered\n", name);
         if (out_tvb) {
             if (len > (guint32)length_remaining)
                 len = length_remaining;
-            *out_tvb = tvb_new_subset(tvb, offset, len, len);
+            *out_tvb = tvb_new_subset_length(tvb, offset, len);
         }
     }
     return end_offset;
@@ -2292,7 +2292,7 @@ ber_sequence_try_again:
             /* dissect header and len for field */
             if (ind_field && (len == 2)) {
                 /* This is a Zero length field */
-                next_tvb = tvb_new_subset(tvb, offset, len, len);
+                next_tvb = tvb_new_subset_length(tvb, offset, len);
                 hoffset = eoffset;
             } else {
                 hoffset = dissect_ber_identifier(actx->pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
@@ -2300,13 +2300,13 @@ ber_sequence_try_again:
                 length_remaining = tvb_length_remaining(tvb, hoffset);
                 if (length_remaining > (eoffset - hoffset - (2 * ind_field)))
                     length_remaining = eoffset - hoffset - (2 * ind_field);
-                next_tvb = tvb_new_subset(tvb, hoffset, length_remaining, length_remaining);
+                next_tvb = tvb_new_subset_length(tvb, hoffset, length_remaining);
             }
         } else {
             length_remaining = tvb_length_remaining(tvb, hoffset);
             if (length_remaining > (eoffset - hoffset))
                 length_remaining = eoffset - hoffset;
-            next_tvb = tvb_new_subset(tvb, hoffset, length_remaining, length_remaining);
+            next_tvb = tvb_new_subset_length(tvb, hoffset, length_remaining);
         }
 
 #if 0
@@ -3161,7 +3161,7 @@ printf("OBJECT IDENTIFIER dissect_ber_any_oid(%s) entered\n", name);
     }
 
     if (value_tvb)
-        *value_tvb = tvb_new_subset(tvb, offset, len, len);
+        *value_tvb = tvb_new_subset_length(tvb, offset, len);
 
     return eoffset;
 }
@@ -3428,7 +3428,7 @@ printf("SQ OF dissect_ber_sq_of(%s) entered\n", name);
         length_remaining = tvb_length_remaining(tvb, hoffset);
         if (length_remaining>eoffset-hoffset)
             length_remaining = eoffset-hoffset;
-        next_tvb = tvb_new_subset(tvb, hoffset, length_remaining, length_remaining);
+        next_tvb = tvb_new_subset_length(tvb, hoffset, length_remaining);
 
         imp_tag = FALSE;
         if (seq->flags == BER_FLAGS_IMPLTAG)
@@ -3841,7 +3841,7 @@ dissect_ber_constrained_bitstring(gboolean implicit_tag, asn1_ctx_t *actx, proto
         }
         if (out_tvb) {
             if (len <= (guint32)tvb_length_remaining(tvb, offset)) {
-                *out_tvb = tvb_new_subset(tvb, offset, len, len);
+                *out_tvb = tvb_new_subset_length(tvb, offset, len);
             } else {
                 *out_tvb = tvb_new_subset_remaining(tvb, offset);
             }
index 72612d09255a5b8c14355be82f1130c75f6c0c4e..328421dd515299b6b34f0cb91e3a3462171a6a14 100644 (file)
@@ -2291,7 +2291,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
 
                /* Concatenate the block before being interpreted for managing RFC 3396 */
                if (optlen)
-                       tvb_composite_append(rfc3396_dns_domain_search_list.tvb_composite, tvb_new_subset(tvb, optoff, optlen, optlen));
+                       tvb_composite_append(rfc3396_dns_domain_search_list.tvb_composite, tvb_new_subset_length(tvb, optoff, optlen));
 
                if (rfc3396_dns_domain_search_list.index_current_block == rfc3396_dns_domain_search_list.total_number_of_block
                    && rfc3396_dns_domain_search_list.tvb_composite) {
@@ -2338,7 +2338,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
 
                /* Concatenate the block before being interpreted for managing RFC 3396 */
                if (optlen)
-                       tvb_composite_append(rfc3396_sip_server.tvb_composite, tvb_new_subset(tvb, optoff, optlen, optlen));
+                       tvb_composite_append(rfc3396_sip_server.tvb_composite, tvb_new_subset_length(tvb, optoff, optlen));
 
                if (rfc3396_sip_server.index_current_block == rfc3396_sip_server.total_number_of_block
                    && rfc3396_sip_server.tvb_composite) {
index e7ee98eb196cf44cb91a28c22e2dc43c93248e08..e309bf7ff386658863b3fb17fa0171923bd6e99f 100644 (file)
@@ -480,7 +480,7 @@ dissect_bssap_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bssap_tre
 {
     tvbuff_t *parameter_tvb;
 
-    parameter_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+    parameter_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
 
     switch (parameter_type)
     {
@@ -811,7 +811,7 @@ dissect_bssap_dlink_tunnel_payload_control_and_info(tvbuff_t *tvb, packet_info *
      */
     proto_tree_add_item(ie_tree, hf_bssap_tunnel_prio, tvb, offset, 1, ENC_BIG_ENDIAN);
     /* Tunnel payload */
-    next_tvb = tvb_new_subset(tvb, offset, ie_len-4, ie_len-4);
+    next_tvb = tvb_new_subset_length(tvb, offset, ie_len-4);
 
     if ((prot_disc == 2)&&(rrlp_handle))
         call_dissector(rrlp_handle, next_tvb, pinfo, ie_tree);
@@ -986,7 +986,7 @@ dissect_bssap_imei(tvbuff_t *tvb, proto_tree *tree, int offset)
     /* The IMEI is coded as a sequence of BCD digits, compressed two into each octet.
      * The IMEI consists of 15 digits (see 3GPP TS 23.003).
      */
-    ie_tvb = tvb_new_subset(tvb, offset, ie_len, ie_len);
+    ie_tvb = tvb_new_subset_length(tvb, offset, ie_len);
     digit_str = unpack_digits(ie_tvb, 0, &Dgt1_9_bcd, FALSE);
     proto_tree_add_string(ie_tree, hf_bssap_imei, ie_tvb, 0, -1, digit_str);
 
@@ -1014,7 +1014,7 @@ dissect_bssap_imesiv(tvbuff_t *tvb, proto_tree *tree, int offset)
     /*  The IMEISV is coded as a sequence of BCD digits, compressed two into each octet.
      *  The IMEISV consists of 16 digits (see 3GPP TS 23.003).
      */
-    ie_tvb = tvb_new_subset(tvb, offset, ie_len, ie_len);
+    ie_tvb = tvb_new_subset_length(tvb, offset, ie_len);
     digit_str = unpack_digits(ie_tvb, 0, &Dgt1_9_bcd, FALSE);
     proto_tree_add_string(ie_tree, hf_bssap_imeisv, ie_tvb, 0, -1, digit_str);
 
@@ -1045,7 +1045,7 @@ dissect_bssap_imsi(tvbuff_t *tvb, proto_tree *tree, int offset)
     offset++;
     proto_tree_add_item(ie_tree, hf_bssap_plus_ie_len, tvb, offset, 1, ENC_BIG_ENDIAN);
     offset++;
-    ie_tvb = tvb_new_subset(tvb, offset, ie_len, ie_len);
+    ie_tvb = tvb_new_subset_length(tvb, offset, ie_len);
     digit_str = unpack_digits(ie_tvb, 0, &Dgt1_9_bcd, TRUE);
     proto_tree_add_string(ie_tree, hf_bssap_imsi, ie_tvb, 0, -1, digit_str);
 
@@ -1423,7 +1423,7 @@ dissect_bssap_sgsn_number(tvbuff_t *tvb, proto_tree *tree, int offset)
     proto_tree_add_item(ie_tree, hf_bssap_type_of_number,    tvb, offset, 1, ENC_BIG_ENDIAN);
     proto_tree_add_item(ie_tree, hf_bssap_numbering_plan_id, tvb, offset, 1, ENC_BIG_ENDIAN);
     offset++;
-    number_tvb = tvb_new_subset(tvb, offset, ie_len-1, ie_len-1);
+    number_tvb = tvb_new_subset_length(tvb, offset, ie_len-1);
     digit_str = unpack_digits(number_tvb, 0, &Dgt1_9_bcd, FALSE);
     proto_tree_add_string(ie_tree, hf_bssap_sgsn_number, number_tvb, 0, -1, digit_str);
 
@@ -1535,7 +1535,7 @@ dissect_bssap_ulink_tunnel_payload_control_and_info(tvbuff_t *tvb, packet_info *
      */
     proto_tree_add_item(ie_tree, hf_bssap_tunnel_prio, tvb, offset, 1, ENC_BIG_ENDIAN);
     /* Tunnel payload */
-    next_tvb = tvb_new_subset(tvb, offset, ie_len - 4, ie_len - 4);
+    next_tvb = tvb_new_subset_length(tvb, offset, ie_len - 4);
 
     if ((prot_disc == 2)&&(rrlp_handle))
         call_dissector(rrlp_handle, next_tvb, pinfo, ie_tree);
@@ -1575,7 +1575,7 @@ dissect_bssap_vlr_number(tvbuff_t *tvb, proto_tree *tree, int offset)
     proto_tree_add_item(ie_tree, hf_bssap_type_of_number,    tvb, offset, 1, ENC_BIG_ENDIAN);
     proto_tree_add_item(ie_tree, hf_bssap_numbering_plan_id, tvb, offset, 1, ENC_BIG_ENDIAN);
     offset++;
-    number_tvb = tvb_new_subset(tvb, offset, ie_len - 1, ie_len - 1);
+    number_tvb = tvb_new_subset_length(tvb, offset, ie_len - 1);
     digit_str = unpack_digits(number_tvb, 0, &Dgt1_9_bcd, FALSE);
     proto_tree_add_string(ie_tree, hf_bssap_sgsn_number, number_tvb, 0, -1, digit_str);
 
index e5d9fa1f0eede5612ce4694390d899bf41d65e29..9483e2d684b96b59689190ee319b80374fb13883 100644 (file)
@@ -913,7 +913,7 @@ de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 of
     curr_offset = offset;
 
     if(len > 0){
-        next_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+        next_tvb = tvb_new_subset_length(tvb, curr_offset, len);
         proto_tree_add_text(tree, tvb, curr_offset, len, "LLC Data");
     }
 
@@ -2316,7 +2316,7 @@ de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
     curr_offset = offset;
 
     /* AVP Code: 904 MBMS-Session-Duration Registered by packet-gtp.c */
-    new_tvb =tvb_new_subset(tvb, offset, len, len);
+    new_tvb =tvb_new_subset_length(tvb, offset, len);
     dissector_try_uint(diameter_3gpp_avp_dissector_table, 904, new_tvb, pinfo, tree);
 
     return(curr_offset-offset);
@@ -2337,7 +2337,7 @@ de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guin
     curr_offset = offset;
 
     /* AVP Code: 903 MBMS-Service-Area Registered by packet-gtp.c */
-    new_tvb =tvb_new_subset(tvb, offset, len, len);
+    new_tvb =tvb_new_subset_length(tvb, offset, len);
     dissector_try_uint(diameter_3gpp_avp_dissector_table, 903, new_tvb, pinfo, tree);
 
     return(curr_offset-offset);
@@ -3196,7 +3196,7 @@ de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
      * as defined in 3GPP TS 36.413
      */
     if(len > 0){
-        next_tvb = tvb_new_subset(tvb, offset, len, len);
+        next_tvb = tvb_new_subset_length(tvb, offset, len);
         dissect_s1ap_SONtransferApplicationIdentity_PDU(next_tvb, pinfo, tree, NULL);
     }
 
index 18740de817bbe7ab2f0d3ab35eb49b7e94707d14..50c468673c2946287b97192b0b9e01f9576bc4a4 100644 (file)
@@ -215,7 +215,7 @@ dissect_btavctp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
     length = tvb_ensure_length_remaining(tvb, offset);
 
     /* reassembling */
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     if (packet_type == PACKET_TYPE_SINGLE) {
         if (!dissector_try_uint_new(avctp_service_dissector_table, pid, next_tvb, pinfo, tree, TRUE, avctp_data)) {
             call_dissector(data_handle, next_tvb, pinfo, tree);
index dce7d26ef767832d8b49d8658d8200a420232bb7..6a8655122d978d6e21a5b5defc26977b6062090b 100644 (file)
@@ -2473,7 +2473,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
                     offset++;
                     switch (filter_condition_type) {
                         case 0x01:
-                            call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+                            call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
                             offset += 3;
 
                             offset=dissect_bthci_cmd_cod_mask(tvb, offset, pinfo, tree);
@@ -2501,7 +2501,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
                             break;
 
                         case 0x01:
-                            call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+                            call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
                             offset += 3;
 
                             offset=dissect_bthci_cmd_cod_mask(tvb, offset, pinfo, tree);
@@ -2631,7 +2631,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
             break;
 
         case 0x0024: /* Write Class of Device */
-            call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+            call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
             offset += 3;
             break;
 
@@ -2812,7 +2812,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
             proto_tree_add_item(tree, hf_bthci_cmd_fec_required, tvb, offset, 1, ENC_LITTLE_ENDIAN);
             offset++;
 
-            call_dissector(btcommon_eir_handle, tvb_new_subset(tvb, offset, 240, 240), pinfo, tree);
+            call_dissector(btcommon_eir_handle, tvb_new_subset_length(tvb, offset, 240), pinfo, tree);
             save_local_device_name(tvb, offset, pinfo, 240, hci_data);
             offset += 240;
             break;
@@ -3155,7 +3155,7 @@ dissect_le_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
             proto_tree_add_item(tree, hf_bthci_cmd_le_data_length, tvb, offset, 1, ENC_LITTLE_ENDIAN);
             offset++;
 
-            call_dissector(btcommon_ad_handle, tvb_new_subset(tvb, offset, 31, 31), pinfo, tree);
+            call_dissector(btcommon_ad_handle, tvb_new_subset_length(tvb, offset, 31), pinfo, tree);
             save_local_device_name(tvb, offset, pinfo, 31, hci_data);
             offset += 31;
             break;
@@ -3255,7 +3255,7 @@ dissect_le_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
             sub_item = proto_tree_add_item(tree, hf_bthci_cmd_le_channel_map, tvb, offset, 5, ENC_NA);
             sub_tree = proto_item_add_subtree(sub_item, ett_le_channel_map);
 
-            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset(tvb, offset, 5, 5), pinfo, sub_tree);
+            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset_length(tvb, offset, 5), pinfo, sub_tree);
             offset += 5;
 
             break;
@@ -5126,7 +5126,7 @@ dissect_eir_ad_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             break;
 
         case 0x0D: /* Class Of Device */
-            call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, entry_tree);
+            call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, entry_tree);
             offset += 3;
 
             break;
index e381b7f6f1d645075137e3882e99fd3a00cfa5a9..3b78a5ea13ce6a00ca5750cf7e2f87b193ef6d18 100644 (file)
@@ -1032,7 +1032,7 @@ dissect_bthci_evt_conn_request(tvbuff_t *tvb, int offset, packet_info *pinfo, pr
 {
     offset = dissect_bthci_evt_bd_addr(tvb, offset, pinfo, tree, NULL);
 
-    call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+    call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
     offset += 3;
 
     proto_tree_add_item(tree, hf_bthci_evt_link_type, tvb, offset, 1, ENC_LITTLE_ENDIAN);
@@ -1619,7 +1619,7 @@ dissect_bthci_evt_inq_result_with_rssi(tvbuff_t *tvb, int offset,
         /* reserved byte */
         offset += 1;
 
-        call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+        call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
         offset += 3;
 
         proto_tree_add_item(tree, hf_bthci_evt_clock_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
@@ -1783,7 +1783,7 @@ dissect_bthci_evt_le_meta(tvbuff_t *tvb, int offset, packet_info *pinfo,
                 offset += 1;
 
                 if (length > 0) {
-                    call_dissector(btcommon_ad_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+                    call_dissector(btcommon_ad_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
                     save_remote_device_name(tvb, offset, pinfo, length, bd_addr, hci_data);
                     offset += length;
                 }
@@ -2390,7 +2390,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
             proto_tree_add_item(tree, hf_bthci_evt_status, tvb, offset, 1, ENC_LITTLE_ENDIAN);
             offset += 1;
 
-            call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+            call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
             offset += 3;
 
             break;
@@ -2521,7 +2521,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
             proto_tree_add_item(tree, hf_bthci_evt_fec_required, tvb, offset, 1, ENC_LITTLE_ENDIAN);
             offset += 1;
 
-            call_dissector(btcommon_eir_handle, tvb_new_subset(tvb, offset, 240, 240), pinfo, tree);
+            call_dissector(btcommon_eir_handle, tvb_new_subset_length(tvb, offset, 240), pinfo, tree);
             offset += 240;
 
             break;
@@ -2895,7 +2895,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
             sub_item = proto_tree_add_item(tree, hf_bthci_evt_le_channel_map, tvb, offset, 5, ENC_NA);
             sub_tree = proto_item_add_subtree(sub_item, ett_le_channel_map);
 
-            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset(tvb, offset, 5, 5), pinfo, sub_tree);
+            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset_length(tvb, offset, 5), pinfo, sub_tree);
             offset += 5;
             break;
         }
@@ -3302,7 +3302,7 @@ dissect_bthci_evt_inq_result(tvbuff_t *tvb, int offset, packet_info *pinfo, prot
         proto_tree_add_item(tree, hf_bthci_evt_page_scan_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN);
         offset += 1;
 
-        call_dissector(btcommon_cod_handle, tvb_new_subset(tvb, offset, 3, 3), pinfo, tree);
+        call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
         offset += 3;
 
         proto_tree_add_item(tree, hf_bthci_evt_clock_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
@@ -3519,7 +3519,7 @@ dissect_bthci_evt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
         case 0x2f: /* Extended Inquiry Result */
             offset = dissect_bthci_evt_inq_result_with_rssi(tvb, offset, pinfo, bthci_evt_tree, bd_addr);
 
-            call_dissector(btcommon_eir_handle, tvb_new_subset(tvb, offset, 240, 240), pinfo, bthci_evt_tree);
+            call_dissector(btcommon_eir_handle, tvb_new_subset_length(tvb, offset, 240), pinfo, bthci_evt_tree);
             save_remote_device_name(tvb, offset, pinfo, 240, bd_addr, hci_data);
             offset += 240;
 
index 2a534e27f28e2dd9b7513282d028e9413ca0914a..0fc82e1b1d88b6726ea4278a67d50ed724de7754 100644 (file)
@@ -408,7 +408,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             offset = dissect_bd_addr(hf_advertising_address, btle_tree, tvb, offset);
 
             if (tvb_length_remaining(tvb, offset) > 3) {
-                next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset) - 3, tvb_length_remaining(tvb, offset) - 3);
+                next_tvb = tvb_new_subset_length(tvb, offset, tvb_length_remaining(tvb, offset) - 3);
                 call_dissector(btcommon_ad_handle, next_tvb, pinfo, btle_tree);
             }
 
@@ -432,7 +432,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             sub_tree = proto_item_add_subtree(sub_item, ett_scan_response_data);
 
             if (tvb_length_remaining(tvb, offset) > 3) {
-                next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset) - 3, tvb_length_remaining(tvb, offset) - 3);
+                next_tvb = tvb_new_subset_length(tvb, offset, tvb_length_remaining(tvb, offset) - 3);
                 call_dissector(btcommon_ad_handle, next_tvb, pinfo, sub_tree);
             }
 
@@ -470,7 +470,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             sub_item = proto_tree_add_item(link_layer_data_tree, hf_link_layer_data_channel_map, tvb, offset, 5, ENC_NA);
             sub_tree = proto_item_add_subtree(sub_item, ett_channel_map);
 
-            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset(tvb, offset, 5, 5), pinfo, sub_tree);
+            call_dissector(btcommon_le_channel_map_handle, tvb_new_subset_length(tvb, offset, 5), pinfo, sub_tree);
             offset += 5;
 
             proto_tree_add_item(link_layer_data_tree, hf_link_layer_data_hop, tvb, offset, 1, ENC_LITTLE_ENDIAN);
@@ -537,7 +537,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
                     acl_data->remote_bd_addr_oui = 0;
                     acl_data->remote_bd_addr_id  = 0;
 
-                    next_tvb = tvb_new_subset(tvb, offset, length, length);
+                    next_tvb = tvb_new_subset_length(tvb, offset, length);
                     call_dissector_with_data(btl2cap_handle, next_tvb, pinfo, tree, acl_data);
                     offset += length;
                 }
@@ -588,7 +588,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
                 sub_item = proto_tree_add_item(btle_tree, hf_control_channel_map, tvb, offset, 5, ENC_NA);
                 sub_tree = proto_item_add_subtree(sub_item, ett_channel_map);
 
-                call_dissector(btcommon_le_channel_map_handle, tvb_new_subset(tvb, offset, 5, 5), pinfo, sub_tree);
+                call_dissector(btcommon_le_channel_map_handle, tvb_new_subset_length(tvb, offset, 5), pinfo, sub_tree);
                 offset += 5;
 
                 proto_tree_add_item(btle_tree, hf_control_instant, tvb, offset, 2, ENC_LITTLE_ENDIAN);
index a97d2f1809984f2588c65d037b330156447d3ca1..d8fc59ffabb5706881c70bec86eda81db12a9a40 100644 (file)
@@ -859,7 +859,7 @@ dissect_btrfcomm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
         tvbuff_t           *next_tvb;
         btrfcomm_data_t    *rfcomm_data;
 
-        next_tvb = tvb_new_subset(tvb, offset, frame_len, frame_len);
+        next_tvb = tvb_new_subset_length(tvb, offset, frame_len);
 
         rfcomm_data = (btrfcomm_data_t *) wmem_new(wmem_packet_scope(), btrfcomm_data_t);
         rfcomm_data->interface_id       = l2cap_data->interface_id;
index 36a102e11a4955ae315cd61aba9570b3502bb58e..8d3f901466568cba7277e86a79b13dae943709b3 100644 (file)
@@ -256,7 +256,7 @@ dissect_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree,
         case 0x04: /* CommandAPDU */
             /* GSM 11.11 */
             if (gsm_sim_cmd_handle && top_dissect != TOP_DISSECT_OFF) {
-                next_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+                next_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
                 col_append_str(pinfo->cinfo, COL_INFO, ": ");
 
                 if (top_dissect == TOP_DISSECT_INTERNAL) {
@@ -275,7 +275,7 @@ dissect_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree,
         case 0x05: /* ResponseAPDU */
             /* GSM 11.11 or ISO/IEC 7816-4; depend of TRANSFER_APDU_REQ */
             if (gsm_sim_resp_handle && top_dissect != TOP_DISSECT_OFF) {
-                next_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+                next_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
                 col_append_str(pinfo->cinfo, COL_INFO, ": ");
 
                 if (top_dissect == TOP_DISSECT_INTERNAL) {
@@ -294,7 +294,7 @@ dissect_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree,
         case 0x06: /* ATR */
             /* ISO/IEC 7816-3 */
             if (iso7816_atr_handle && top_dissect != TOP_DISSECT_OFF) {
-                next_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+                next_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
                 col_append_str(pinfo->cinfo, COL_INFO, ": ");
 
                 if (top_dissect == TOP_DISSECT_INTERNAL) {
@@ -340,7 +340,7 @@ dissect_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree,
         case 0x10: /* CommandAPDU7816 */
             /* ISO/IEC 7816-4 */
             if (gsm_sim_cmd_handle && top_dissect != TOP_DISSECT_OFF) {
-                next_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+                next_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
                 col_append_str(pinfo->cinfo, COL_INFO, ": ");
 
                 if (top_dissect == TOP_DISSECT_INTERNAL) {
index 80a802fce33ba95e8e04b39ba9a5e28ea2f58024..e014639e1c1f3daa78f9cf18f77dba7683c55598 100644 (file)
@@ -247,7 +247,7 @@ dissect_bzr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 pdu_len = tvb_reported_length_remaining(tvb, offset);
             }
         }
-        next_tvb = tvb_new_subset(tvb, offset, pdu_len, pdu_len);
+        next_tvb = tvb_new_subset_length(tvb, offset, pdu_len);
         dissect_bzr_pdu(next_tvb, pinfo, tree);
         offset += pdu_len;
     }
index 2fa25b754e4390737739d7ba13148abea441696f..bd577093c98cc643e1f51ee6a8858e317be67e5f 100644 (file)
@@ -1090,7 +1090,7 @@ static void dissect_ccpri_lte(tvbuff_t *tvb, gint offset,
        set to call cpri C&M dissector instead of X.25) */
     protocol_handle = find_dissector("lapb");
     if ((protocol_handle != NULL) && (tvb_length_remaining(tvb, offset) > 0)) {
-        ccpri_tvb = tvb_new_subset(tvb, offset, length, length);
+        ccpri_tvb = tvb_new_subset_length(tvb, offset, length);
         call_dissector_only(protocol_handle, ccpri_tvb, pinfo, tree, NULL);
     }
 }
index 5a6896e24dc6917780a214e75af2fb23fe819892..7834b33b59d5e250e26be33f7803cf9f6e60b22c 100644 (file)
@@ -350,7 +350,7 @@ dissect_gsm_cell_broadcast(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
       }
       if (text_len)
       {
-         cbs_page_tvb = tvb_new_subset(cbs_page_tvb, 0, text_len, text_len);
+         cbs_page_tvb = tvb_new_subset_length(cbs_page_tvb, 0, text_len);
          if (total_pages == 1)
          {
             /* no need for reassembly */
index c1b29232eb3b4b322613c32f63285b67e0ff2253..303ef7dce1cd0bec88004b2071e3b1a849c2535d 100644 (file)
@@ -4357,7 +4357,7 @@ dissect_cip_multiple_service_packet_req(tvbuff_t *tvb, packet_info *pinfo, proto
 
       col_append_str( pinfo->cinfo, COL_INFO, ", ");
 
-      next_tvb = tvb_new_subset(tvb, offset+serv_offset, serv_length, serv_length);
+      next_tvb = tvb_new_subset_length(tvb, offset+serv_offset, serv_length);
 
       if ( mr_mult_req_info )
       {
@@ -4676,7 +4676,7 @@ dissect_cip_multiple_service_packet_rsp(tvbuff_t *tvb, packet_info *pinfo, proto
 
       col_append_str( pinfo->cinfo, COL_INFO, ", ");
 
-      next_tvb = tvb_new_subset(tvb, offset+serv_offset, serv_length, serv_length);
+      next_tvb = tvb_new_subset_length(tvb, offset+serv_offset, serv_length);
       if ( mr_mult_req_info )
       {
          mr_single_req_info = mr_mult_req_info->requests + i;
@@ -5127,7 +5127,7 @@ dissect_cip_cm_data( proto_tree *item_tree, tvbuff_t *tvb, int offset, int item_
             p_add_proto_data(wmem_file_scope(), pinfo, proto_cip, 0, pembedded_req_info );
 
             proto_tree_add_text( item_tree, NULL, 0, 0, "(Service: Unconnected Send (Response))" );
-            next_tvb = tvb_new_subset(tvb, offset, item_length, item_length);
+            next_tvb = tvb_new_subset_length(tvb, offset, item_length);
             if ( pembedded_req_info && pembedded_req_info->dissector )
                call_dissector(pembedded_req_info->dissector, next_tvb, pinfo, item_tree );
             else
@@ -5432,7 +5432,7 @@ dissect_cip_cm_data( proto_tree *item_tree, tvbuff_t *tvb, int offset, int item_
 
             col_append_str( pinfo->cinfo, COL_INFO, ": ");
 
-            next_tvb = tvb_new_subset(tvb, offset+2+req_path_size+4, msg_req_siz, msg_req_siz);
+            next_tvb = tvb_new_subset_length(tvb, offset+2+req_path_size+4, msg_req_siz);
             preq_info = (cip_req_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_cip, 0 );
             pembedded_req_info = NULL;
             if ( preq_info )
@@ -5592,7 +5592,7 @@ dissect_cip_mb_data( proto_tree *item_tree, tvbuff_t *tvb, int offset, int item_
                if( tvb_length_remaining(tvb, offset) > 0 )
                {
                   /* dissect the Modbus PDU */
-                  next_tvb = tvb_new_subset( tvb, offset+4+add_stat_size, item_length-4-add_stat_size, item_length-4-add_stat_size);
+                  next_tvb = tvb_new_subset_length( tvb, offset+4+add_stat_size, item_length-4-add_stat_size);
 
                   /* keep packet context */
                   request_info = wmem_new(wmem_packet_scope(), modbus_request_info_t);
@@ -5682,7 +5682,7 @@ dissect_cip_mb_data( proto_tree *item_tree, tvbuff_t *tvb, int offset, int item_
             if( tvb_length_remaining(tvb, offset) > 0 )
             {
                /* dissect the Modbus PDU */
-               next_tvb = tvb_new_subset( tvb, offset+2+req_path_size, item_length-req_path_size-2, item_length-req_path_size-2);
+               next_tvb = tvb_new_subset_length( tvb, offset+2+req_path_size, item_length-req_path_size-2);
 
                /* keep packet context */
                request_info = wmem_new(wmem_packet_scope(), modbus_request_info_t);
index bfe61c9d5cb42200807eefb5e7f8a34d7ec0c7fa..9c98bd900e52db696630dfbe4597deb74a6e4639 100644 (file)
@@ -322,7 +322,7 @@ dissect_sm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             proto_item_set_len(ti, 16);
 
             if (length > 0) {
-                next_tvb = tvb_new_subset(tvb, offset, length, length);
+                next_tvb = tvb_new_subset_length(tvb, offset, length);
 
                 if ((msg_type == PDU_MTP3_TO_SLT || msg_type == PDU_MTP3_FROM_SLT)) {
                     call_dissector(q931_handle, next_tvb, pinfo, tree);
@@ -346,7 +346,7 @@ dissect_sm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
             /* This should be the EISUP dissector but we havent got one
              * right now - so decode it as data for now ... */
-            next_tvb = tvb_new_subset(tvb, offset, length, length);
+            next_tvb = tvb_new_subset_length(tvb, offset, length);
             call_dissector(data_handle, next_tvb, pinfo, sm_tree);
 
             break;
@@ -381,7 +381,7 @@ dissect_sm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 proto_tree_add_item(sm_tree, hf_sm_len, tvb, offset, 2, ENC_BIG_ENDIAN);
                 length = tvb_get_ntohs(tvb,offset);
                 offset = offset +2;
-                next_tvb = tvb_new_subset(tvb, offset, length, length);
+                next_tvb = tvb_new_subset_length(tvb, offset, length);
                 call_dissector(sdp_handle, next_tvb, pinfo, sm_tree);
                 /*offset = offset+length;*/
 
@@ -413,7 +413,7 @@ dissect_sm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 proto_tree_add_item(sm_tree, hf_sm_len, tvb, offset, 2, ENC_BIG_ENDIAN);
                 length = tvb_get_ntohs(tvb,offset);
                 offset = offset +2;
-                next_tvb = tvb_new_subset(tvb, offset, length, length);
+                next_tvb = tvb_new_subset_length(tvb, offset, length);
                 call_dissector(sdp_handle, next_tvb, pinfo, sm_tree);
                 /*offset = offset+length;*/
 
@@ -438,7 +438,7 @@ dissect_sm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             proto_item_set_len(ti, 16);
 
             if (length > 0) {
-                next_tvb = tvb_new_subset(tvb, offset, length, length);
+                next_tvb = tvb_new_subset_length(tvb, offset, length);
 
                 switch (msg_type) {
                 case PDU_MTP3_TO_SLT:
index fe98b2b0749b15d50bfad4f7c4f8b8a8692e9a82..1c4268c675c9a196c4f17604c51cdcccbe5c013e 100644 (file)
@@ -103,7 +103,7 @@ dissect_cwids(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                proto_tree_add_item(cwids_tree, hf_cwids_unknown3, tvb, offset, 8, ENC_NA);
                offset += 8;
 
-               wlan_tvb = tvb_new_subset(tvb, offset, capturelen, capturelen);
+               wlan_tvb = tvb_new_subset_length(tvb, offset, capturelen);
                /* Continue after ieee80211 dissection errors */
                pd_save = pinfo->private_data;
                TRY {
@@ -118,12 +118,12 @@ dissect_cwids(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                        pinfo->private_data = pd_save;
 
 #if 0
-       wlan_tvb = tvb_new_subset(tvb, offset, capturelen, capturelen);
+       wlan_tvb = tvb_new_subset_length(tvb, offset, capturelen);
                        /* FIXME: Why does this throw an exception? */
                        proto_tree_add_text(cwids_tree, wlan_tvb, offset, capturelen,
                                "[Malformed or short IEEE80211 subpacket]");
 #else
-                       tvb_new_subset(tvb, offset, capturelen, capturelen);
+                       tvb_new_subset_length(tvb, offset, capturelen);
 #endif
        ;
                } ENDTRY;
index 0ad8eeaa2eb6dc49e43bcb4881fcd40cef8a900e..359b2fe5997a52f97f4f5aeebe64ecf6f753b293 100644 (file)
@@ -881,7 +881,7 @@ dissect_coap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
                payload_tree = proto_item_add_subtree(payload_item, ett_coap_payload);
 
                proto_tree_add_string(payload_tree, hf_coap_payload_desc, tvb, offset, -1, coap_ctype_str);
-               payload_tvb = tvb_new_subset(tvb, offset, payload_length, payload_length);
+               payload_tvb = tvb_new_subset_length(tvb, offset, payload_length);
 
                if (coap_ctype_value == DEFAULT_COAP_CTYPE_VALUE || coap_ctype_value == 0) {
                        coap_ctype_str_dis = "text/plain";
index c35306795a7659b753af4708d5fbc212d4de3291..9099beb9aeeed7f732995aa6d3c69355644e46b5 100644 (file)
@@ -368,7 +368,7 @@ dissect_cpfi(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree, void *
   /* dissect the message */
 
   /* extract and process the header */
-  header_tvb = tvb_new_subset(message_tvb, 0, 8, 8);
+  header_tvb = tvb_new_subset_length(message_tvb, 0, 8);
   dissect_cpfi_header(header_tvb, pinfo, cpfi_tree);
 
   body_tvb = tvb_new_subset(message_tvb, 8, body_length, reported_body_length);
index 84d965ff9b7849a2192c3fcea0d7aacec33489ea..f449ee9d8d1eb2d263a38545fd0b3b828ee675db 100644 (file)
@@ -491,7 +491,7 @@ dissect_daap_one_tag(proto_tree *tree, tvbuff_t *tvb)
       case dacp_cmst:
          /* Container tags */
          new_tree = proto_item_add_subtree(ti, ett_daap_sub);
-         new_tvb  = tvb_new_subset(tvb, offset, len, len);    /* Use a new tvb so bounds checking        */
+         new_tvb  = tvb_new_subset_length(tvb, offset, len);  /* Use a new tvb so bounds checking        */
                                                               /*  works Ok when dissecting container.    */
                                                               /* Note: len is within tvb; checked above. */
                                                               /* len (see above) is used so that we'll   */
index 0a3c55b9dd5bca2c806162b71ed4005b128fc228..79b3f339ab62c1450990cda857135f27bb81b13f 100644 (file)
@@ -123,7 +123,7 @@ dissect_db_lsp_pdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
 
     if (opvalue == OP_CERT) {
       /* X509 Certificate */
-      tvbuff_t *cert_tvb = tvb_new_subset (tvb, offset+10, length-10, length-10);
+      tvbuff_t *cert_tvb = tvb_new_subset_length (tvb, offset+10, length-10);
       dissect_x509af_Certificate_PDU (cert_tvb, pinfo, db_lsp_tree);
     } else {
       proto_tree_add_item (db_lsp_tree, hf_value, tvb, offset, length, ENC_NA);
index 2254d987dc4c6b1782f4cca24ea4399a76f5c2ec..b73856950f15ccdcf43a3111ca67c8c32d45a1da 100644 (file)
@@ -618,7 +618,7 @@ dissect_diameter_avp(diam_ctx_t *c, tvbuff_t *tvb, int offset, diam_sub_dis_t *d
                diam_sub_dis_inf->vendor_id = tvb_get_ntohl(tvb,offset);
        }
 
-       subtvb = tvb_new_subset(tvb,offset,len-(8+(vendor_flag?4:0)),len-(8+(vendor_flag?4:0)));
+       subtvb = tvb_new_subset_length(tvb,offset,len-(8+(vendor_flag?4:0)));
        offset += len-(8+(vendor_flag?4:0));
 
        save_tree = c->tree;
index 8717cad6a8aa24f1a1d9f88acba091b5bc224ac2..e685c37842c1295f259bf3976cdab480000ec7b4 100644 (file)
@@ -2084,7 +2084,7 @@ static gint dissect_dmp_ext_addr (tvbuff_t *tvb, packet_info *pinfo,
   }
 
   if (type == ASN1_BER) {
-    tvbuff_t *next_tvb = tvb_new_subset(tvb, offset, length, length);
+    tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset, length);
 
     dissect_p1_ORName (FALSE, next_tvb, 0, &asn1_ctx, ext_tree,
                          hf_addr_ext_asn1_ber);
index 1574b11bc693a204aff930a945902dceefc0aa0a..82c9c8554e8d78d8247dbfb19d6df091d9809008 100644 (file)
@@ -3261,8 +3261,8 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset,
              * the SMB dissector does in some cases, and check
              * whether the security blob begins with "NTLMSSP".
              */
-            gssapi_tvb = tvb_new_subset(
-              tvb, cur_offset, tkey_keylen, tkey_keylen);
+            gssapi_tvb = tvb_new_subset_length(
+              tvb, cur_offset, tkey_keylen);
             if (tvb_strneql(gssapi_tvb, 0, "NTLMSSP", 7) == 0) {
               call_dissector(ntlmssp_handle, gssapi_tvb, pinfo, key_tree);
             } else {
@@ -3326,7 +3326,7 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset,
         mac_item = proto_tree_add_item(rr_tree, hf_dns_tsig_mac, tvb, cur_offset, tsig_siglen, ENC_NA);
         mac_tree = proto_item_add_subtree(mac_item, ett_dns_mac);
 
-        sub_tvb=tvb_new_subset(tvb, cur_offset, tsig_siglen, tsig_siglen);
+        sub_tvb=tvb_new_subset_length(tvb, cur_offset, tsig_siglen);
 
         if (!dissector_try_string(dns_tsig_dissector_table, tsig_algname, sub_tvb, pinfo, mac_tree, NULL)) {
           expert_add_info_format(pinfo, mac_item, &ei_dns_tsig_alg,
index 31c29c3e12932a280f5b972cce75919e27270e90..a73293f11c39745ef96f88584ef1fcdac6a26759 100644 (file)
@@ -142,8 +142,7 @@ dissect_dpnss_link(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        case FRAME_TYPE_UI_EVEN:
        case FRAME_TYPE_UI_ODD:
            protocol_data_length=tvb_length(tvb)-LINK_HEADER_SIZE;
-           protocol_data_tvb=tvb_new_subset(tvb, LINK_HEADER_SIZE,
-                                            protocol_data_length,
+           protocol_data_tvb=tvb_new_subset_length(tvb, LINK_HEADER_SIZE,
                                             protocol_data_length);
            if (dpnss_handle && protocol_data_length>0) {
                call_dissector(dpnss_handle, protocol_data_tvb, pinfo, tree);
index c64c743c8dd31403803e443a1aaaa49af2353014..c82565c77176a2e141b3dd63a143275464fd993e 100644 (file)
@@ -766,7 +766,7 @@ dissect_drda(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
                         {
                             /* Extract SQL statement from packet */
                             tvbuff_t* next_tvb = NULL;
-                            next_tvb = tvb_new_subset(tvb, offset + 4, iLengthParam - 4, iLengthParam - 4);
+                            next_tvb = tvb_new_subset_length(tvb, offset + 4, iLengthParam - 4);
                             add_new_data_source(pinfo, next_tvb, "SQL statement");
                             proto_tree_add_item(drdaroot_tree, hf_drda_sqlstatement, next_tvb, 0, iLengthParam - 5, ENC_UTF_8|ENC_NA);
                             proto_tree_add_item(drdaroot_tree, hf_drda_sqlstatement_ebcdic, next_tvb, 0, iLengthParam - 4, ENC_EBCDIC|ENC_NA);
index 670d8ee862a231515f32ccc73b6afb0b933ca3b1..854c35866d0cdddf2537a0adfc70891e5ad6e7a4 100644 (file)
@@ -1467,8 +1467,7 @@ dissect_dtls_handshake(tvbuff_t *tvb, packet_info *pinfo,
             }
           else
             {
-              sub_tvb = tvb_new_subset(tvb, offset, fragment_length,
-                                       fragment_length);
+              sub_tvb = tvb_new_subset_length(tvb, offset, fragment_length);
             }
 
           /* now dissect the handshake message, if necessary */
index bb5b2108578d42865e9b89cea4757f1edb4a1646..d8e1375fd4ee0f963b0982f02f1e58cb5c178786 100644 (file)
@@ -327,7 +327,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, proto_item *parameter_i
   tvbuff_t *protocol_data_tvb;
 
   protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  protocol_data_tvb    = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_OFFSET, protocol_data_length, protocol_data_length);
+  protocol_data_tvb    = tvb_new_subset_length(parameter_tvb, PROTOCOL_DATA_OFFSET, protocol_data_length);
   if(dpnss_handle){
     call_dissector(dpnss_handle, protocol_data_tvb, pinfo, tree);
     return;
@@ -549,7 +549,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
     dissect_parameter(parameter_tvb, pinfo, tree, dua_tree);
     /* get rid of the handled parameter */
     offset += total_length;
@@ -708,7 +708,7 @@ dissect_dua_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree,
 {
   tvbuff_t *common_header_tvb, *parameters_tvb;
 
-  common_header_tvb = tvb_new_subset(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH);
   parameters_tvb    = tvb_new_subset_remaining(message_tvb, PARAMETERS_OFFSET);
   dissect_common_header(common_header_tvb, pinfo, dua_tree);
   dissect_parameters(parameters_tvb, pinfo, tree, dua_tree);
index 67803be80fb6bd1faea66c36bc6e4f377e98cf6f..830987eb53be9fc11d8d3374462f08894f51ea38 100644 (file)
@@ -89,9 +89,9 @@ dissect_dvb_data_mpe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
     /* Parse the DMC-CC private section header */
 
-    mac_bytes_tvb[5] = tvb_new_subset(tvb, offset, 1, 1);
+    mac_bytes_tvb[5] = tvb_new_subset_length(tvb, offset, 1);
     offset += 1;
-    mac_bytes_tvb[4] = tvb_new_subset(tvb, offset, 1, 1);
+    mac_bytes_tvb[4] = tvb_new_subset_length(tvb, offset, 1);
     offset += 1;
 
     proto_tree_add_item(dvb_data_mpe_tree, hf_dvb_data_mpe_reserved,                   tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -109,7 +109,7 @@ dissect_dvb_data_mpe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     offset += 1;
 
     for (i = 3; i >= 0; i--) {
-        mac_bytes_tvb[i] = tvb_new_subset(tvb, offset, 1, 1);
+        mac_bytes_tvb[i] = tvb_new_subset_length(tvb, offset, 1);
         offset += 1;
     }
 
index 78dca7b196b425d0bd655a13b8737d14b6343f39..0a171bec3171ca0a3a891595836fe6db9a07f03f 100644 (file)
@@ -3630,8 +3630,8 @@ dissect_dvbci_ami_file_ack(tvbuff_t *tvb, gint offset,
                 suffix_lo = wmem_ascii_strdown(wmem_packet_scope(),
                         &file_name_str[file_name_len-4], -1);
                 if (g_strcmp0(suffix_lo, ".png")==0) {
-                    png_file_tvb = tvb_new_subset(
-                            tvb, offset, file_data_len, file_data_len);
+                    png_file_tvb = tvb_new_subset_length(
+                            tvb, offset, file_data_len);
                 }
             }
 
@@ -3898,7 +3898,7 @@ dissect_dvbci_payload_lsc(guint32 tag, gint len_field,
             msg_len = tvb_reported_length_remaining(tvb, offset);
             if (msg_len<=0)
                 break;
-            msg_tvb = tvb_new_subset(tvb, offset, msg_len, msg_len);
+            msg_tvb = tvb_new_subset_remaining(tvb, offset);
             if (!msg_tvb)
                 break;
             if (dvbci_dissect_lsc_msg && circuit && circuit->dissector_handle) {
@@ -3949,8 +3949,8 @@ dissect_dvbci_payload_opp(guint32 tag, gint len_field _U_,
           if (nit_loop_len==0)
               break;
           offset += 2;
-          nit_loop_tvb = tvb_new_subset(
-                  tvb, offset, nit_loop_len, nit_loop_len);
+          nit_loop_tvb = tvb_new_subset_length(
+                  tvb, offset, nit_loop_len);
           nit_loop_offset = 0;
           if (!dvb_nit_handle) {
               call_dissector(data_handle, nit_loop_tvb, pinfo, tree);
@@ -4145,7 +4145,7 @@ dissect_dvbci_payload_sas(guint32 tag, gint len_field _U_,
             proto_tree_add_item(tree, hf_dvbci_sas_msg_len,
                     tvb, offset, 2, ENC_BIG_ENDIAN);
             offset += 2;
-            msg_tvb = tvb_new_subset(tvb, offset, msg_len, msg_len);
+            msg_tvb = tvb_new_subset_length(tvb, offset, msg_len);
             msg_handle = (circuit && circuit->dissector_handle) ?
                 circuit->dissector_handle : data_handle;
             call_dissector(msg_handle, msg_tvb, pinfo, tree);
@@ -4273,7 +4273,6 @@ dissect_dvbci_spdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     guint16 ssnb                   = 0;  /* session numbers start with 1, 0 is invalid */
     guint8             sess_stat;
     tvbuff_t          *payload_tvb = NULL;
-    gint               payload_len;
 
 
     spdu_len = tvb_reported_length(tvb);
@@ -4372,9 +4371,8 @@ dissect_dvbci_spdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
             proto_tree_add_item(
                     sess_tree, hf_dvbci_sess_nb, tvb,
                     offset, 2, ENC_BIG_ENDIAN);
-            payload_len = tvb_reported_length_remaining(tvb, offset+2);
             payload_tvb =
-                tvb_new_subset(tvb, offset+2, payload_len, payload_len);
+                tvb_new_subset_remaining(tvb, offset+2);
             break;
         default:
             break;
@@ -4598,7 +4596,7 @@ dissect_dvbci_tpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
             the reassembled bodies as expected
            to work around this issue, we use a dedicated body_tvb as
             input to reassembly routines */
-        body_tvb = tvb_new_subset(tvb, offset, body_len, body_len);
+        body_tvb = tvb_new_subset_length(tvb, offset, body_len);
         /* dissect_dvbci_tpdu_hdr() checked that lpdu_tcid==t_c_id */
         frag_msg = fragment_add_seq_next(&spdu_reassembly_table,
                 body_tvb, 0, pinfo, SPDU_SEQ_ID_BASE+lpdu_tcid, NULL,
@@ -4939,7 +4937,7 @@ dissect_dvbci_cis(tvbuff_t *tvb, gint offset,
                 tvb, offset, 1, ENC_LITTLE_ENDIAN);
         offset++;
 
-        tpl_data_tvb = tvb_new_subset(tvb, offset, len_field, len_field);
+        tpl_data_tvb = tvb_new_subset_length(tvb, offset, len_field);
         switch (tpl_code) {
             case CISTPL_VERS_1:
                 dissect_dvbci_cis_payload_tpll_v1(
index aa8025b9eb8b6e574a0c05071e7e6e71480ce415..d4b711bcb88e2cc542ec54be51e56a363cbea412 100644 (file)
@@ -161,8 +161,8 @@ dissect_ehdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                header_length += XDLC_CONTROL_LEN(control, is_extended);
 
                if (XDLC_IS_INFORMATION(control)) {
-                       next_tvb = tvb_new_subset(tvb, offset+header_length,
-                                                 len-header_length, len-header_length);
+                       next_tvb = tvb_new_subset_length(tvb, offset+header_length,
+                                                 len-header_length);
 
                        switch (msg_type) {
                        case 0x20:
index b2bc63f240be2838586fc208aca51e7b9d0e5a00..9e03f5e0fb12ac3fbd0517948e693cb45376caba 100644 (file)
@@ -1335,7 +1335,7 @@ dissect_eigrp_service (proto_item *ti, proto_tree *tree, tvbuff_t *tvb,
              * XML. If it "looks like" XML (begins with optional white-space
              * followed by a '<'), try XML. Otherwise, try plain-text.
              */
-            xml_tvb = tvb_new_subset(sub_tvb, sub_offset, length, length);
+            xml_tvb = tvb_new_subset_length(sub_tvb, sub_offset, length);
             test_string = tvb_get_string(wmem_packet_scope(), xml_tvb, 0, (length < 32 ?
                                                                 length : 32));
             tok = strtok(test_string, " \t\r\n");
index c58ab51b65b8bb52db0681eb3ca223a26f3797b7..0bca7184b0cf476c2c3cf6ffb40ebeca84150c6e 100644 (file)
@@ -243,7 +243,7 @@ dissect_eiss_descriptors(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gu
                                        offset, 4, ENC_BIG_ENDIAN);
                offset += 4;
 
-               payload = tvb_new_subset(tvb, offset, tmp-4, tmp-4);
+               payload = tvb_new_subset_length(tvb, offset, tmp-4);
                call_dissector(data_handle, payload, pinfo, sub_tree);
 
                return (3+tmp);
index 3dd3e550190edd82cea9c784e8c46d3344112668..5519d765eca4236642eaf2ab14384a0e5bfa8292 100644 (file)
@@ -1428,7 +1428,7 @@ dissect_tcpip_last_conflict(packet_info *pinfo, proto_tree *tree, proto_item *it
       save_info = col_get_writable(pinfo->cinfo);
       col_set_writable(pinfo->cinfo, FALSE);
 
-      next_tvb = tvb_new_subset(tvb, offset+7, 28, 28);
+      next_tvb = tvb_new_subset_length(tvb, offset+7, 28);
       call_dissector(arp_handle, next_tvb, pinfo, tree);
 
       col_set_writable(pinfo->cinfo, save_info);
@@ -1827,7 +1827,7 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
                }
 
                /* Call dissector for interface */
-               next_tvb = tvb_new_subset( tvb, offset+6, item_length, item_length );
+               next_tvb = tvb_new_subset_length( tvb, offset+6, item_length);
                p_add_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO, request_info);
                if ( tvb_length_remaining(next_tvb, 0) <= 0 || !dissector_try_uint(subdissector_srrd_table, ifacehndl, next_tvb, pinfo, dissector_tree) )
                {
@@ -1886,7 +1886,7 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
                   proto_tree_add_item( item_tree, hf_enip_cpf_cdi_seqcnt, tvb, offset+6, 2, ENC_LITTLE_ENDIAN );
 
                   /* Call dissector for interface */
-                  next_tvb = tvb_new_subset (tvb, offset+8, item_length-2, item_length-2);
+                  next_tvb = tvb_new_subset_length (tvb, offset+8, item_length-2);
                   p_add_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO, request_info);
                   if ( tvb_length_remaining(next_tvb, 0) <= 0 || !dissector_try_uint(subdissector_sud_table, ifacehndl, next_tvb, pinfo, dissector_tree) )
                   {
@@ -1901,7 +1901,7 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
                   /* Display data */
                   if (tvb_length_remaining(tvb, offset+6) > 0)
                   {
-                      next_tvb = tvb_new_subset(tvb, offset+6, item_length, item_length);
+                      next_tvb = tvb_new_subset_length(tvb, offset+6, item_length);
                       if (conn_info != NULL)
                       {
                          if (conn_info->safety.safety_seg == TRUE)
index 6edcd623718016560a0b5d10fccaeb0c9cf6f077..d255e370fd11a5d6e26f3296d27c034d25334183 100644 (file)
@@ -234,7 +234,7 @@ dissect_error_causes(tvbuff_t *error_causes_tvb, proto_tree *parameter_tree)
   while(tvb_reported_length_remaining(error_causes_tvb, offset) > 0) {
     length          = tvb_get_ntohs(error_causes_tvb, offset + CAUSE_LENGTH_OFFSET);
     total_length    = ADD_PADDING(length);
-    error_cause_tvb = tvb_new_subset(error_causes_tvb, offset , total_length, total_length);
+    error_cause_tvb = tvb_new_subset_length(error_causes_tvb, offset, total_length);
     dissect_error_cause(error_cause_tvb, parameter_tree);
     offset += total_length;
   }
@@ -720,7 +720,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, proto_tree *tree)
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
     dissect_parameter(parameter_tvb, tree);
     /* get rid of the handled parameter */
     offset += total_length;
index 383cbec13562187617a527950079ad4ce4170233..4de87ac6597fc4c588b31d06149471692ce408b7 100644 (file)
@@ -1054,7 +1054,7 @@ dissect_cat(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
                        de_cld_party_bcd_num(tvb, elem_tree, pinfo, pos, len, NULL, 0);
                        break;
                case 0x0b:      /* sms tpdu */
-                       new_tvb = tvb_new_subset(tvb, pos, len, len);
+                       new_tvb = tvb_new_subset_length(tvb, pos, len);
                        if (new_tvb) {
                                int p2p_dir_save = pinfo->p2p_dir;
                                if (data) {
index c8bc37b3ecb6fa59fec5bcb3475a5e0f1573178c..2aed9ef1a25bc7b0d1a24c0f8ba0cf3cba8f7a80 100644 (file)
@@ -130,7 +130,7 @@ dissect_etv_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int prot
        }
        offset += 1;
 
-       sub_tvb = tvb_new_subset(tvb, offset, sect_len-7, sect_len-7);
+       sub_tvb = tvb_new_subset_length(tvb, offset, sect_len-7);
        call_dissector(dsmcc_handle, sub_tvb, pinfo, tree);
 
        sect_len += 3 - 4; /* add header, remove crc */
index 9700c215a312ecd179b3454db2ee06b291d4197e..702d3f7dc9f4e243293d34f6f2bedb315ac158d2 100644 (file)
@@ -1263,7 +1263,6 @@ dissect_fcsof(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
     proto_item *it = NULL;
     proto_tree *fcsof_tree = NULL;
-    gint bytes_remaining;
     tvbuff_t *next_tvb, *checksum_tvb;
     guint32 sof = 0;
     guint32 crc = 0;
@@ -1291,7 +1290,7 @@ dissect_fcsof(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
     /* GET Computed CRC */
     frame_len_for_checksum = crc_offset - FCSOF_HEADER_LEN;
-    checksum_tvb = tvb_new_subset(tvb, 4, frame_len_for_checksum, frame_len_for_checksum);
+    checksum_tvb = tvb_new_subset_length(tvb, 4, frame_len_for_checksum);
     crc_computed = crc32_802_tvb(checksum_tvb, frame_len_for_checksum);
 
     /* Get EOF */
@@ -1323,8 +1322,7 @@ dissect_fcsof(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
     proto_tree_add_uint(fcsof_tree, hf_fceof, tvb, eof_offset, 4, eof);
 
-    bytes_remaining = tvb_length_remaining(tvb, 4);
-    next_tvb = tvb_new_subset(tvb, 4, bytes_remaining, -1);
+    next_tvb = tvb_new_subset_remaining(tvb, 4);
 
     fc_data.ethertype = 0;
     fc_data.sof_eof = 0;
index bc8083671eeabc5f5209b07c76430ec066493752..fdcd9de7cfa95d3720516e8e0963704f22564dbd 100644 (file)
@@ -490,7 +490,7 @@ dissect_fcp_cmnd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, pro
     itl.cmdset = 0xff;
     itl.conversation = conversation;
 
-    cdb_tvb = tvb_new_subset(tvb, offset+12, tvb_len, tvb_rlen);
+    cdb_tvb = tvb_new_subset_length(tvb, offset+12, tvb_len);
     dissect_scsi_cdb(cdb_tvb, pinfo, parent_tree, SCSI_DEV_UNKNOWN, request_data->itlq, &itl);
 
     proto_tree_add_item(tree, hf_fcp_dl, tvb, offset+12+16+add_len,
index a2daa2f0f37d549eaa22f421b479da4dee44eddf..074233addb28d5273374ccd4206dd85cfab6fdbf 100644 (file)
@@ -430,7 +430,7 @@ dissect_flip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
     col_add_fstr(pinfo->cinfo, COL_INFO,
                  "FlowID %s", val_to_str(basic_hdr_flow_id, NULL, "0x%08x"));
 
-    flip_tvb = tvb_new_subset(tvb, 0, frame_len, frame_len);
+    flip_tvb = tvb_new_subset_length(tvb, 0, frame_len);
 
     /* We are asked for details. */
     if (tree) {
@@ -539,8 +539,7 @@ dissect_flip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
                 computed_chksum = g_htons(computed_chksum);
             }
 
-            chksum_tvb = tvb_new_subset(flip_tvb, offset,
-                                        FLIP_CHKSUM_HDR_LEN,
+            chksum_tvb = tvb_new_subset_length(flip_tvb, offset,
                                         FLIP_CHKSUM_HDR_LEN);
 
             /* Note that flip_tree is NULL if no details are requested. */
@@ -575,8 +574,8 @@ dissect_flip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
 
         has_user_messed_up = FALSE;
 
-        payload_tvb = tvb_new_subset(flip_tvb, offset,
-                                     payload_len, payload_len);
+        payload_tvb = tvb_new_subset_length(flip_tvb, offset,
+                                     payload_len);
 
         /*
          * 1) no decoding -> data
index e0078227798c752a9492834cf0a85613a3b5fc14..53b5ae261f6f0f8d299b9c49ad753c0688a14faa 100644 (file)
@@ -470,7 +470,7 @@ dissect_redirecttlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint of
         {
             tvbuff_t  *next_tvb;
 
-            next_tvb = tvb_new_subset(tvb, offset+4, length_redirect-TLV_TL_LENGTH, length_redirect-TLV_TL_LENGTH);
+            next_tvb = tvb_new_subset_length(tvb, offset+4, length_redirect-TLV_TL_LENGTH);
             call_dissector(ip_handle, next_tvb, pinfo, redirect_data_tree);
 
             /* Restore IP info */
index 23b1355ac94cdeac268a59542e80cca46d837193..8e77d2d43f008b24534d6b55d8f8283a6c6d4e2e 100644 (file)
@@ -182,8 +182,8 @@ dissect_gdb_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             if (tvb_bytes_exist(tvb, offset, 2)) {
                 offset += 2;
                 packet_len = offset-offset_start;
-                packet_tvb = tvb_new_subset(tvb, offset_start,
-                        packet_len, packet_len);
+                packet_tvb = tvb_new_subset_length(tvb, offset_start,
+                        packet_len);
             }
         }
 
index 39702c7ec871dd3f38fce845966dc56ab7bb400d..a492de46b9a67ebb2f738d12b13e8b3f63a60ae2 100644 (file)
@@ -100,7 +100,7 @@ dissect_gpef_efskey(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *p
        dissect_nt_sid(tvb, old_offset+4+sid_offset, tree, "sid", NULL, -1);
 
        /* certificate */
-       next_tvb = tvb_new_subset(tvb, old_offset+4+cert_offset, cert_length, cert_length);
+       next_tvb = tvb_new_subset_length(tvb, old_offset+4+cert_offset, cert_length);
        (void)dissect_x509af_Certificate(FALSE, next_tvb, 0, &asn1_ctx, tree, hf_gpef_efskey_certificate);
 
 
index 2d8f63c6204b9ef4250102112e4deeed9ffd8afe..a6ce57bc31ba65805e367ec2ac0222ec74db565a 100644 (file)
@@ -397,7 +397,7 @@ static void llc_gprs_dissect_xid(tvbuff_t *tvb,
 
                        if (xid_param_len) {
 
-                               sndcp_xid_tvb = tvb_new_subset (tvb, location+sndcp_xid_offset, xid_param_len, xid_param_len);
+                               sndcp_xid_tvb = tvb_new_subset_length (tvb, location+sndcp_xid_offset, xid_param_len);
 
                                if(sndcp_xid_handle)
                                {
@@ -1071,7 +1071,7 @@ dissect_llcgprs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                        if (tree)
                        {
                                tvbuff_t        *xid_tvb;
-                               xid_tvb = tvb_new_subset (tvb, offset, info_len, info_len);
+                               xid_tvb = tvb_new_subset_length (tvb, offset, info_len);
 
                                llc_gprs_dissect_xid(xid_tvb, pinfo, llcgprs_tree);
                        }
@@ -1083,7 +1083,7 @@ dissect_llcgprs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                        if (tree)
                        {
                                tvbuff_t        *xid_tvb;
-                               xid_tvb = tvb_new_subset (tvb, offset, info_len, info_len);
+                               xid_tvb = tvb_new_subset_length (tvb, offset, info_len);
 
                                llc_gprs_dissect_xid(xid_tvb, pinfo, llcgprs_tree);
                        }
index cb5ed285aff5c01c6aa7eb9a96eaf89f21a63b82..284d7a2e9df4f6e25ac240f2b8d8a546c3f07add 100644 (file)
@@ -2012,7 +2012,7 @@ be_l3_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
     /*
      * dissect the embedded DTAP message
      */
-    l3_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+    l3_tvb = tvb_new_subset_length(tvb, curr_offset, len);
 
     /* This information element carries a radio interface message.
        In the case of an Intersystem handover to UMTS,
@@ -2488,7 +2488,7 @@ be_l3_msg(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
     /*
      * dissect the embedded DTAP message
      */
-    l3_tvb = tvb_new_subset(tvb, offset, len, len);
+    l3_tvb = tvb_new_subset_length(tvb, offset, len);
 
     /* Octet j (j = 3, 4, ..., n) is the unchanged octet j of a radio interface layer 3 message
      * as defined in 3GPP TS 24.008, n is equal to the length of that radio interface layer 3 message. */
@@ -3044,7 +3044,7 @@ be_loc_est(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
 
     curr_offset = offset;
 
-    data_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+    data_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     dissect_geographical_description(data_tvb, pinfo, tree);
 
     return(len);
@@ -3148,7 +3148,7 @@ be_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, gui
         /* BSSLAP
          * the embedded message is as defined in 3GPP TS 08.71(3GPP TS 48.071 version 7.2.0 Release 7)
          */
-        APDU_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+        APDU_tvb = tvb_new_subset_length(tvb, curr_offset, len);
         if (gsm_bsslap_handle)
             call_dissector(gsm_bsslap_handle, APDU_tvb, pinfo, g_tree);
         break;
@@ -3289,7 +3289,7 @@ be_src_rnc_to_tar_rnc_umts(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
      * the Source RNC to Target RNC Transparent Container IE as defined in relevant
      * RANAP specification 3GPP TS 25.413, excluding RANAP tag
      */
-    container_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+    container_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(container_tvb, pinfo, tree, NULL);
 
     return(len);
@@ -3402,7 +3402,7 @@ be_inter_sys_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint3
 {
     tvbuff_t *new_tvb;
 
-    new_tvb = tvb_new_subset(tvb, offset, len, len);
+    new_tvb = tvb_new_subset_length(tvb, offset, len);
 
     if (new_tvb) {
         dissect_ranap_InterSystemInformation_TransparentContainer_PDU(new_tvb, pinfo, tree, NULL);
@@ -3806,7 +3806,7 @@ be_app_data_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32
  {
     tvbuff_t    *new_tvb;
 
-    new_tvb = tvb_new_subset(tvb, offset, len, len);
+    new_tvb = tvb_new_subset_length(tvb, offset, len);
     if (new_tvb) {
         dissect_gsm_map_msisdn(new_tvb, pinfo , tree);
     }
@@ -4835,7 +4835,7 @@ be_fe_inter_rat_handover_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf
     tvbuff_t    *container_tvb;
 
     /* Octets 3-n are encoded as Inter RAT Handover Info as defined in 3GPP TS 25.331 */
-    container_tvb = tvb_new_subset(tvb, offset, len, len);
+    container_tvb = tvb_new_subset_length(tvb, offset, len);
     dissect_rrc_InterRATHandoverInfo_PDU(container_tvb, pinfo, tree, NULL);
 
     return len;
index e400a878d1535f7aa5810164176e89e7ceaa4d78..4fbf706c8ecaa977090f336e3b977c103532bfd9 100644 (file)
@@ -2638,7 +2638,7 @@ de_facility(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
                dissect_ROS_Component(FALSE, tvb, offset, &asn1_ctx, tree, hf_ROS_component);
                TODO Call gsm map here
                */
-               SS_tvb = tvb_new_subset(tvb, offset, component_len, component_len);
+               SS_tvb = tvb_new_subset_length(tvb, offset, component_len);
                col_append_str(pinfo->cinfo, COL_INFO,"(GSM MAP) ");
                col_set_fence(pinfo->cinfo, COL_INFO);
                call_dissector(gsm_map_handle, SS_tvb, pinfo, tree);
@@ -3324,7 +3324,7 @@ de_cp_user_data(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 off
        /*
         * dissect the embedded RP message
         */
-       rp_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+       rp_tvb = tvb_new_subset_length(tvb, curr_offset, len);
 
        call_dissector(rp_handle, rp_tvb, pinfo, g_tree);
 
index 17970634e61f5d762fa94089de2c557acc6e2211..a68c9f178000b8a0ebbcf7dfa2fcb2dd768990e7 100644 (file)
@@ -3339,7 +3339,7 @@ de_gmm_rat_info_container(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
 
 /* The value part of the Inter RAT information container information element is the INTER RAT HANDOVER INFO as
 defined in 3GPP TS 25.331 [23c]. If this field includes padding bits, they are defined in 3GPP TS 25.331 [23c].*/
-       rrc_irat_ho_info_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+       rrc_irat_ho_info_tvb = tvb_new_subset_length(tvb, curr_offset, len);
        if (rrc_irat_ho_info_handle)
                call_dissector(rrc_irat_ho_info_handle, rrc_irat_ho_info_tvb, pinfo, tree);
        else
@@ -3394,7 +3394,7 @@ de_gmm_eutran_irat_info_container(tvbuff_t *tvb, proto_tree *tree, packet_info *
 
 /* The value part of the E-UTRAN inter RAT information container information element
    is formatted and coded according to the UE-EUTRA-Capability IE defined in 3GPP TS 36.331 [129]*/
-       lte_rrc_ue_eutra_cap_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+       lte_rrc_ue_eutra_cap_tvb = tvb_new_subset_length(tvb, curr_offset, len);
        if (lte_rrc_ue_eutra_cap_handle)
                call_dissector(lte_rrc_ue_eutra_cap_handle, lte_rrc_ue_eutra_cap_tvb, pinfo, tree);
        else
@@ -4086,12 +4086,12 @@ de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
                                        } else {
                                                dissector_handle_t handle;
                                                handle = dissector_get_uint_handle (gprs_sm_pco_subdissector_table, prot);
+                                               l3_tvb = tvb_new_subset_length(tvb, curr_offset, e_len);
                                                if (handle != NULL)
                                                {
                                                        /*
                                                         * dissect the embedded message
                                                        */
-                                                       l3_tvb = tvb_new_subset(tvb, curr_offset, e_len, e_len);
                                                        /* In this case we do not want the columns updated */
                                                        col_set_writable(pinfo->cinfo, FALSE);
                                                        call_dissector(handle, l3_tvb, pinfo, pco_tree);
@@ -4102,7 +4102,6 @@ de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
                                                        /*
                                                        * dissect the embedded DATA message
                                                        */
-                                                       l3_tvb = tvb_new_subset(tvb, curr_offset, e_len, e_len);
                                                        call_dissector(data_handle, l3_tvb, pinfo, pco_tree);
                                                }
                                        }
index cb0554c1506fb933cb6b3b713e8b3d4d35daf988..2dcf3ae2c69107e6e096308037b4272b393af2f8 100644 (file)
@@ -159,7 +159,7 @@ de_rp_user_data(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 off
        /*
         * dissect the embedded TPDU message
         */
-       tpdu_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+       tpdu_tvb = tvb_new_subset_length(tvb, curr_offset, len);
 
        call_dissector_only(gsm_sms_handle, tpdu_tvb, pinfo, g_tree, NULL);
 
index 1121cb7b582ff080dbbb88f704f8c04f7f2c6150..16434a4d39bbe39702062b62f5fcd0da7b5e25c3 100644 (file)
@@ -2021,7 +2021,7 @@ de_rr_utran_cm(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offs
     curr_offset = offset;
     if (len)
     {
-        rrc_irat_ho_info_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+        rrc_irat_ho_info_tvb = tvb_new_subset_length(tvb, curr_offset, len);
         if (rrc_irat_ho_info_handle)
             call_dissector(rrc_irat_ho_info_handle, rrc_irat_ho_info_tvb, pinfo, tree);
     }
@@ -8031,7 +8031,7 @@ de_rr_apdu_data(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32
 {
     tvbuff_t *sub_tvb;
 
-    sub_tvb = tvb_new_subset(tvb, offset, len, len);
+    sub_tvb = tvb_new_subset_length(tvb, offset, len);
 
     if (rrlp_dissector)
         call_dissector(rrlp_dissector, sub_tvb,pinfo, tree);
@@ -8051,7 +8051,7 @@ de_rr_ho_to_utran_cmd(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint
     curr_offset = offset;
     if (len)
     {
-        rrc_irat_ho_to_utran_cmd_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+        rrc_irat_ho_to_utran_cmd_tvb = tvb_new_subset_length(tvb, curr_offset, len);
         if (rrc_irat_ho_to_utran_cmd_handle)
             call_dissector(rrc_irat_ho_to_utran_cmd_handle, rrc_irat_ho_to_utran_cmd_tvb, pinfo, tree);
     }
index ee5a2ba6f988849485f112afb734d23efa638589..4b930bda804742a6266e12a82c36859d73ef50ba 100644 (file)
@@ -1578,7 +1578,7 @@ dissect_oml_attrs(tvbuff_t *tvb, int base_offs, packet_info *pinfo,
                                    offset+1, len_len, len);
                offset += hlen;
 
-               sub_tvb = tvb_new_subset(tvb, offset, len, len);
+               sub_tvb = tvb_new_subset_length(tvb, offset, len);
 
                switch (tag) {
                /* parse only the most common IE for now */
@@ -1845,7 +1845,7 @@ dissect_abis_oml(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
                         * putting all of that into an external dissector and
                         * call out to that dissector */
                        tvbuff_t *subtvb;
-                       subtvb = tvb_new_subset(tvb, offset, len, len);
+                       subtvb = tvb_new_subset_length(tvb, offset, len);
 
                        if (sub_om2000)
                                call_dissector(sub_om2000, subtvb, pinfo, tree);
index f01cbf919ad47783b7b30edcd41c5ac9abc23d51..4f4a0ec60cf885a73e7efe8ebc0774cf12d3d750 100644 (file)
@@ -250,7 +250,7 @@ de_rrlp_ie(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
    curr_offset = offset + 2;
    if (length > 0)
    {
-      rrlp_tvb = tvb_new_subset(tvb, curr_offset, length, length);
+      rrlp_tvb = tvb_new_subset_length(tvb, curr_offset, length);
       if (bsslap_rrlp_handle)
          call_dissector(bsslap_rrlp_handle, rrlp_tvb, pinfo, tree);
    }
index ea6755f96e1e159b6cf6c01395b18df943dedbf8..9aa587bd21b6b22e762d303489954e62dd62e507 100644 (file)
@@ -259,7 +259,7 @@ de_bmaple_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offs
                /* BSSLAP
                 * the embedded message is as defined in 3GPP TS 08.71(3GPP TS 48.071 version 7.2.0 Release 7)
                 */
-               APDU_tvb = tvb_new_subset(tvb, curr_offset+1, len-1, len-1);
+               APDU_tvb = tvb_new_subset_length(tvb, curr_offset+1, len-1);
                if(gsm_bsslap_handle)
                        call_dissector(gsm_bsslap_handle, APDU_tvb, pinfo, g_tree);
                break;
@@ -565,7 +565,7 @@ de_bmaple_pos_dta(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 o
 
        curr_offset = offset;
 
-       data_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+       data_tvb = tvb_new_subset_length(tvb, curr_offset, len);
        dissect_geographical_description(data_tvb, pinfo, tree);
 
        return(len);
index 33250dcc83c3bcfd8af1bcf7b2996cdb10bdd8e5..4653a36f28f43749312a6d02bbe64dfaf753364c 100644 (file)
@@ -326,7 +326,7 @@ dissect_ipa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                                            tvb, offset+2, 1, ENC_BIG_ENDIAN);
                }
 
-               next_tvb = tvb_new_subset(tvb, offset+header_length, len, len);
+               next_tvb = tvb_new_subset_length(tvb, offset+header_length, len);
 
                switch (msg_type) {
                case ABISIP_OML:
index e72930b30be6d053debe63fc6d5724b344d711cf..33be85e148335c8743a43b0018800d69370f2745 100644 (file)
@@ -6999,7 +6999,7 @@ static guint8 dissect_gprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, prot
                                    i, li);
         }
         subtree = proto_item_add_subtree(ti, ett_data_segments);
-        data_tvb = tvb_new_subset(tvb, octet_offset, octet_length - octet_offset, octet_length - octet_offset);
+        data_tvb = tvb_new_subset_length(tvb, octet_offset, octet_length - octet_offset);
         call_dissector(data_handle, data_tvb, pinfo, subtree);
         octet_offset = octet_length;
         break;
@@ -7009,7 +7009,7 @@ static guint8 dissect_gprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, prot
                                  "data segment: LI[%d]=%d indicates: (Last segment of) LLC frame (%d octets)",
                                  i, li, li);
         subtree = proto_item_add_subtree(ti, ett_data_segments);
-        data_tvb = tvb_new_subset(tvb, octet_offset, li, li);
+        data_tvb = tvb_new_subset_length(tvb, octet_offset, li);
         call_dissector(data_handle, data_tvb, pinfo, subtree);
         octet_offset += li;
         break;
@@ -7029,7 +7029,7 @@ static guint8 dissect_gprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, prot
       ti = proto_tree_add_text(tree, tvb, octet_offset, octet_length - octet_offset, "Padding Octets");
     }
     subtree = proto_item_add_subtree(ti, ett_data_segments);
-    data_tvb = tvb_new_subset(tvb, octet_offset, octet_length - octet_offset, octet_length - octet_offset);
+    data_tvb = tvb_new_subset_length(tvb, octet_offset, octet_length - octet_offset);
     call_dissector(data_handle, data_tvb, pinfo, subtree);
     octet_offset = octet_length;
   }
@@ -7115,7 +7115,7 @@ static guint16 dissect_egprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, pr
                                    i, li);
         }
         subtree = proto_item_add_subtree(ti, ett_data_segments);
-        data_tvb = tvb_new_subset(tvb, octet_offset, octet_length - octet_offset, octet_length - octet_offset);
+        data_tvb = tvb_new_subset_length(tvb, octet_offset, octet_length - octet_offset);
         call_dissector(data_handle, data_tvb, pinfo, subtree);
         octet_offset = octet_length;
         break;
@@ -7125,7 +7125,7 @@ static guint16 dissect_egprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, pr
                                  "data segment: LI[%d]=%d indicates: (Last segment of) LLC frame (%d octets)",
                                  i, li, li);
         subtree = proto_item_add_subtree(ti, ett_data_segments);
-        data_tvb = tvb_new_subset(tvb, octet_offset, li, li);
+        data_tvb = tvb_new_subset_length(tvb, octet_offset, li);
         call_dissector(data_handle, data_tvb, pinfo, subtree);
         octet_offset += li;
         break;
@@ -7138,7 +7138,7 @@ static guint16 dissect_egprs_data_segments(tvbuff_t *tvb, packet_info *pinfo, pr
     ti = proto_tree_add_text(tree, tvb, octet_offset, octet_length - octet_offset,
                              "data segment: LI not present: \n The Upper Layer PDU in the current RLC data block either fills the current RLC data block precisely \nor continues in the following in-sequence RLC data block");
     subtree = proto_item_add_subtree(ti, ett_data_segments);
-    data_tvb = tvb_new_subset(tvb, octet_offset, octet_length - octet_offset, octet_length - octet_offset);
+    data_tvb = tvb_new_subset_length(tvb, octet_offset, octet_length - octet_offset);
     call_dissector(data_handle, data_tvb, pinfo, subtree);
     octet_offset = octet_length;
   }
index a8f589730726b6f451b8864ba57e0f6436e830d2..c02aa8e26ccdd58569569b1d4d3f34566dfa96e5 100644 (file)
@@ -1131,7 +1131,7 @@ dissect_bertlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                        break;
                }
 
-               subtvb = tvb_new_subset(tvb, pos, len, len);
+               subtvb = tvb_new_subset_length(tvb, pos, len);
                switch (tag) {
                case 0xD0:      /* proactive command */
                case 0xD1:      /* sms-pp download */
@@ -1302,12 +1302,12 @@ dissect_gsm_apdu(guint8 ins, guint8 p1, guint8 p2, guint8 p3, tvbuff_t *tvb,
        case 0x12: /* FETCH */
                proto_tree_add_item(tree, hf_le, tvb, offset+P3_OFFS, 1, ENC_BIG_ENDIAN);
                if (isSIMtrace) {
-                       subtvb = tvb_new_subset(tvb, offset+DATA_OFFS, p3, p3);
+                       subtvb = tvb_new_subset_length(tvb, offset+DATA_OFFS, p3);
                        dissect_bertlv(subtvb, pinfo, tree);
                }
                break;
        case 0x14: /* TERMINAL RESPONSE */
-               subtvb = tvb_new_subset(tvb, offset+DATA_OFFS, p3, p3);
+               subtvb = tvb_new_subset_length(tvb, offset+DATA_OFFS, p3);
                call_dissector_with_data(sub_handle_cap, subtvb, pinfo, tree, GUINT_TO_POINTER(0x14));
                break;
        case 0x70: /* MANAGE CHANNEL */
@@ -1336,7 +1336,7 @@ dissect_gsm_apdu(guint8 ins, guint8 p1, guint8 p2, guint8 p3, tvbuff_t *tvb,
                break;
        case 0xC2: /* ENVELOPE */
                proto_tree_add_item(tree, hf_le, tvb, offset+P3_OFFS, 1, ENC_BIG_ENDIAN);
-               subtvb = tvb_new_subset(tvb, offset+DATA_OFFS, p3, p3);
+               subtvb = tvb_new_subset_length(tvb, offset+DATA_OFFS, p3);
                dissect_bertlv(subtvb, pinfo, tree);
                break;
        /* FIXME: Missing SLEEP */
index 598fca3437dc64395355a2d8b81d9da590135e9d..da057d7551c040734f8e802f327d36e9827f49f3 100644 (file)
@@ -490,12 +490,10 @@ dissect_gsmtap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         * of the packet (see TS 04.04) */
        if (type == GSMTAP_TYPE_UM &&
            sub_type & GSMTAP_CHANNEL_ACCH) {
-               l1h_tvb = tvb_new_subset(tvb, hdr_len, 2, 2);
-               payload_tvb = tvb_new_subset(tvb, hdr_len+2, len-(hdr_len+2),
-                                            len-(hdr_len+2));
+               l1h_tvb = tvb_new_subset_length(tvb, hdr_len, 2);
+               payload_tvb = tvb_new_subset_length(tvb, hdr_len+2, len-(hdr_len+2));
        } else {
-               payload_tvb = tvb_new_subset(tvb, hdr_len, len-hdr_len,
-                                            len-hdr_len);
+               payload_tvb = tvb_new_subset_length(tvb, hdr_len, len-hdr_len);
        }
 
        /* We don't want any UDP related info left in the INFO field, as the
index 8bb6b0a3726d89657e0ed4dd7a6eb1545683741b..0845e6a134af6be0f9332f1dba6b65b923c4cdd8 100644 (file)
@@ -4868,7 +4868,7 @@ decode_gtp_proto_conf(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tre
      * between the GGSN and the MS. The content and the coding of the Protocol Configuration are defined in octet 3-z of the
      * Protocol Configuration Options in3GPP TS 24.008 [5].
      */
-    next_tvb = tvb_new_subset(tvb, offset + 3, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset + 3, length);
     de_sm_pco(next_tvb, ext_tree_proto, pinfo, 0, length, NULL, 0);
 
     return 3 + length;
@@ -4957,7 +4957,7 @@ decode_gtp_msisdn(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree *
     if (length < 1)
         return 3;
 
-    next_tvb = tvb_new_subset(tvb, offset+3, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset+3, length);
     dissect_gsm_map_msisdn(next_tvb, pinfo, ext_tree_proto);
 
     return 3 + length;
@@ -5405,7 +5405,7 @@ decode_gtp_ran_tr_cont(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tr
     proto_tree_add_item(ext_tree, hf_gtp_ext_length, tvb, offset, 2, ENC_BIG_ENDIAN);
     offset = offset + 2;
 
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     if (bssgp_handle) {
 #if 0
         col_set_fence(pinfo->cinfo, COL_INFO);
@@ -5843,7 +5843,7 @@ decode_gtp_imeisv(tvbuff_t * tvb, int offset, packet_info * pinfo _U_, proto_tre
      * then the IMEI shall be placed in the IMEI(SV) field and the last semi-octet of octet 11 shall be
      * set to '1111'. Both IMEI and IMEISV are BCD encoded.
      */
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     digit_str = unpack_digits(next_tvb, 0);
     proto_tree_add_string(ext_imeisv, hf_gtp_ext_imeisv, next_tvb, 0, -1, digit_str);
     proto_item_append_text(te, ": %s", digit_str);
@@ -5932,7 +5932,7 @@ decode_gtp_tmgi(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tr
     ti = proto_tree_add_item(ext_tree, hf_gtp_tmgi, tvb, offset, length, ENC_NA);
 
     tmgi_tree = proto_item_add_subtree(ti, ett_gtp_tmgi);
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     de_mid(next_tvb, tmgi_tree, pinfo, 0, length, NULL, 0);
     return 3 + length;
 
@@ -6101,7 +6101,7 @@ decode_gtp_mbms_sa(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree *
     offset++;
     proto_tree_add_item(ext_tree, hf_gtp_ext_length, tvb, offset, 2, ENC_BIG_ENDIAN);
     offset = offset + 2;
-    next_tvb = tvb_new_subset(tvb, offset, length-3, length-3);
+    next_tvb = tvb_new_subset_length(tvb, offset, length-3);
     dissect_gtp_3gpp_mbms_service_area(next_tvb, pinfo, ext_tree, NULL);
 
     return 3 + length;
@@ -7798,7 +7798,7 @@ decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree
         offset = offset + 2;
 
        if (length > 2) {
-            next_tvb = tvb_new_subset(tvb, offset, length-2, length-2);
+            next_tvb = tvb_new_subset_length(tvb, offset, length-2);
             if(!dissector_try_uint(gtp_priv_ext_dissector_table, ext_id, next_tvb, pinfo, ext_tree_priv_ext)){
                     proto_tree_add_item(ext_tree_priv_ext, hf_gtp_ext_val, tvb, offset, length - 2, ENC_NA);
             }
index 7de0afc560e9b99af3799a8628fa8722aaab01dd..819633e49318d2bf9681211a9751aac95270933a 100644 (file)
@@ -1106,7 +1106,7 @@ dissect_gtpv2_stn_sr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_
     int         offset = 0;
 
     stn_sr_item = proto_tree_add_item(tree, hf_gtpv2_stn_sr, tvb, offset, length, ENC_NA);
-    new_tvb = tvb_new_subset(tvb, offset, length, length );
+    new_tvb = tvb_new_subset_length(tvb, offset, length);
     sub_tree = proto_item_add_subtree(stn_sr_item, ett_gtpv2_stn_sr);
 
     /* Octet 5
@@ -2367,7 +2367,7 @@ dissect_gtpv2_bearer_ctx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_
     proto_item_append_text(item, "[Grouped IE]");
     grouped_tree = proto_item_add_subtree(item, ett_gtpv2_bearer_ctx);
 
-    new_tvb = tvb_new_subset(tvb, offset, length, length );
+    new_tvb = tvb_new_subset_length(tvb, offset, length);
     dissect_gtpv2_ie_common(new_tvb, pinfo, grouped_tree, 0, message_type);
 }
 
@@ -3652,7 +3652,7 @@ dissect_gtpv2_PDN_conn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_,
 
     proto_item_append_text(item, "[Grouped IE]");
     grouped_tree = proto_item_add_subtree(item, ett_gtpv2_PDN_conn);
-    new_tvb = tvb_new_subset(tvb, offset, length, length );
+    new_tvb = tvb_new_subset_length(tvb, offset, length);
 
     dissect_gtpv2_ie_common(new_tvb, pinfo, grouped_tree, offset, message_type);
 }
@@ -4507,7 +4507,7 @@ dissect_gtpv2_private_ext(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
 
     proto_item_append_text(item, "%s (%u)", val_to_str_ext_const(ext_id, &sminmpec_values_ext, "Unknown"), ext_id);
 
-    next_tvb = tvb_new_subset(tvb, offset, length-2, length-2);
+    next_tvb = tvb_new_subset_length(tvb, offset, length-2);
     if (dissector_try_uint_new(gtpv2_priv_ext_dissector_table, ext_id, next_tvb, pinfo, tree, FALSE, GUINT_TO_POINTER((guint32)instance))){
         return;
     }
@@ -5340,7 +5340,7 @@ dissect_gtpv2(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
         offset += 1;
 
         if (p_flag) {
-            msg_tvb = tvb_new_subset(tvb, 0, msg_length + 4, msg_length + 4);
+            msg_tvb = tvb_new_subset_length(tvb, 0, msg_length + 4);
             dissect_gtpv2_ie_common(msg_tvb, pinfo, gtpv2_tree, offset, message_type);
         } else {
             dissect_gtpv2_ie_common(tvb, pinfo, gtpv2_tree, offset, message_type);
index 1c5180933e2ea3f75ec8cdc9103125713833870e..6b70fcc1a32ad85d15d2ad900cd770c7421f216a 100644 (file)
@@ -689,7 +689,7 @@ dissect_mux_al_pdu( tvbuff_t *tvb, packet_info *pinfo, proto_tree *vc_tree,
                 data_start++;
             }
 
-            next_tvb = tvb_new_subset( tvb, data_start, len-1-data_start, len-1-data_start );
+            next_tvb = tvb_new_subset_length( tvb, data_start, len-1-data_start);
             al_subitem = proto_tree_add_item(al_tree, hf_h223_al_payload, next_tvb, 0, -1, ENC_NA);
 
             calc_checksum = h223_al2_crc8bit(tvb);
@@ -885,7 +885,7 @@ dissect_mux_payload_by_me_list( tvbuff_t *tvb, packet_info *pinfo,
                 frag_len = me->repeat_count;
             if(frag_len > 0) {
                 tvbuff_t *next_tvb;
-                next_tvb = tvb_new_subset(tvb, offset, frag_len, frag_len);
+                next_tvb = tvb_new_subset_length(tvb, offset, frag_len);
                 dissect_mux_sdu_fragment( next_tvb, pinfo, pkt_offset + offset, pdu_tree,
                                           call_info, me->vc, (offset+frag_len==len) && endOfMuxSdu);
                 offset += frag_len;
@@ -1072,7 +1072,7 @@ dissect_mux_pdu( tvbuff_t *tvb, packet_info *pinfo, guint32 pkt_offset,
        dissected as data. */
     len -= mpl;
     if( len > 0 ) {
-        tvbuff_t *next_tvb = tvb_new_subset(tvb, offset, len, len);
+        tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset, len);
         proto_tree *vc_tree = NULL;
 
         if( pdu_tree ) {
@@ -1253,8 +1253,7 @@ dissect_mux_pdu_fragment( tvbuff_t *tvb, guint32 start_offset,
     }
 
     /* create a tvb for the fragment */
-    next_tvb = tvb_new_subset(tvb, start_offset, offset-start_offset,
-                              offset-start_offset);
+    next_tvb = tvb_new_subset_length(tvb, start_offset, offset-start_offset);
 
     /*
      * Dissect the PDU.
index b09fe3f981d6d93fd65f87e122c8a7f9749a3329..d646e4c050fbf85d64c46a755807b645639a8af3 100644 (file)
@@ -1678,7 +1678,7 @@ static int dissect_h248_PropertyID(gboolean implicit_tag _U_, tvbuff_t *tvb, int
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     name_minor = packageandid & 0xffff;
 
@@ -1760,7 +1760,7 @@ static int dissect_h248_SigParamValue(gboolean implicit_tag _U_, tvbuff_t *tvb,
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     if ( curr_info.par && curr_info.par->dissector) {
         curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
@@ -1838,7 +1838,7 @@ static int dissect_h248_EventParamValue(gboolean implicit_tag _U_, tvbuff_t *tvb
         return end_offset;
     }
 
-    next_tvb = tvb_new_subset(tvb,offset,len,len);
+    next_tvb = tvb_new_subset_length(tvb,offset,len);
 
     if ( curr_info.par && curr_info.par->dissector) {
         curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
index 7decab1823e19cb4c8268df75612b8a1903af0d3..f9bdd94c0a922738e67f50feb7b81242349ad677 100644 (file)
@@ -213,11 +213,9 @@ dissect_hdmi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
     offset++;
 
     if (HDCP_ADDR8(addr)) {
-        gint      hdcp_len;
         tvbuff_t *hdcp_tvb;
 
-        hdcp_len = tvb_reported_length_remaining(tvb, offset);
-        hdcp_tvb = tvb_new_subset(tvb, offset, hdcp_len, hdcp_len);
+        hdcp_tvb = tvb_new_subset_remaining(tvb, offset);
 
         return call_dissector(hdcp_handle, hdcp_tvb, pinfo, hdmi_tree);
     }
index 7b05c2cef94307f9c3bf51c9c00860d04e791240..4d45cf3190d99b72bae4d927aba0c95fae3d4802 100644 (file)
@@ -205,7 +205,7 @@ dissect_hpfeeds_publish_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
         case CH_KIPPO_SESSIONS:
         case CH_GLASTOPF_EVENTS:
         case CH_GEOLOC_EVENTS:
-            json_tvb = tvb_new_subset(tvb, offset, -1, -1);
+            json_tvb = tvb_new_subset_remaining(tvb, offset);
             call_dissector(json_hdl, json_tvb, pinfo, tree);
         break;
         default:
index b40f72bb7b4b385108b80d4b12e8a12610e33a4f..e652e3293a0f99c0844e63b7c6eef361a57b8e95 100644 (file)
@@ -1747,7 +1747,7 @@ chunked_encoding_dissector(tvbuff_t **tvb_ptr, packet_info *pinfo,
                            chunk_offset - offset, "Chunk size: %u octets",
                            chunk_size);
 
-                       data_tvb = tvb_new_subset(tvb, chunk_offset, chunk_size, chunk_size);
+                       data_tvb = tvb_new_subset_length(tvb, chunk_offset, chunk_size);
 
 
                        /*
index 343d78a358f485ad57c4af20bf5e4596cd16f9b3..3a2e30761b809efc0ee9bca3116ecd519e9458d3 100644 (file)
@@ -3230,7 +3230,7 @@ dissect_17221_aem(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
                STREAM_OFFSET_STREAM_FLAGS, 2, ENC_BIG_ENDIAN);
          /* done adding flags, continue with fields */
          /* stream format dissection */
-         next_tvb = tvb_new_subset(tvb, STREAM_OFFSET_CURRENT_FORMAT, 8, 8);
+         next_tvb = tvb_new_subset_length(tvb, STREAM_OFFSET_CURRENT_FORMAT, 8);
          dissect_17221_stream_format(next_tvb, aem_tree);
 
          proto_tree_add_item(aem_tree, hf_aem_formats_offset, tvb,
@@ -3268,7 +3268,7 @@ dissect_17221_aem(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
          mr_subtree = proto_item_add_subtree(mr_item, ett_aem_stream_formats);
 
          for(i = 0; i < mr_counter; ++i) {
-            next_tvb = tvb_new_subset(tvb, mr_offset, 8, 8);
+            next_tvb = tvb_new_subset_length(tvb, mr_offset, 8);
             dissect_17221_stream_format(next_tvb, mr_subtree);
             mr_offset += 8;
          }
@@ -3921,7 +3921,7 @@ dissect_17221_aecp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aecp_tree)
 
            if ((mess_type != AECP_AEM_COMMAND_MESSAGE)||(c_type == AECP_COMMAND_SET_STREAM_FORMAT))
            {
-              next_tvb = tvb_new_subset(tvb, AECP_OFFSET_STREAM_FORMAT_STREAM_FORMAT, 8, 8);
+              next_tvb = tvb_new_subset_length(tvb, AECP_OFFSET_STREAM_FORMAT_STREAM_FORMAT, 8);
               dissect_17221_stream_format(next_tvb, aecp_tree);
            }
            break;
@@ -3934,16 +3934,16 @@ dissect_17221_aecp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aecp_tree)
 
             if ((mess_type != AECP_AEM_COMMAND_MESSAGE)||(c_type == AECP_COMMAND_SET_VIDEO_FORMAT))
             {
-                next_tvb = tvb_new_subset(tvb, AECP_OFFSET_VIDEO_FORMAT_FORMAT_SPECIFIC, 4, 4);
+                next_tvb = tvb_new_subset_length(tvb, AECP_OFFSET_VIDEO_FORMAT_FORMAT_SPECIFIC, 4);
                 dissect_17221_video_format(next_tvb, aecp_tree);
 
-                next_tvb = tvb_new_subset(tvb, AECP_OFFSET_VIDEO_FORMAT_ASPECT_RATIO, 2, 2);
+                next_tvb = tvb_new_subset_length(tvb, AECP_OFFSET_VIDEO_FORMAT_ASPECT_RATIO, 2);
                 dissect_17221_video_aspect_ratio(next_tvb, aecp_tree);
 
                 proto_tree_add_item(aecp_tree, hf_aem_color_space, tvb,
                      AECP_OFFSET_VIDEO_FORMAT_COLOR_SPACE, 2, ENC_BIG_ENDIAN);
 
-                next_tvb = tvb_new_subset(tvb, AECP_OFFSET_VIDEO_FORMAT_FRAME_SIZE, 4, 4);
+                next_tvb = tvb_new_subset_length(tvb, AECP_OFFSET_VIDEO_FORMAT_FRAME_SIZE, 4);
                 dissect_17221_video_frame_size(next_tvb, aecp_tree);
             }
             break;
@@ -3956,7 +3956,7 @@ dissect_17221_aecp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aecp_tree)
 
             if ((mess_type != AECP_AEM_COMMAND_MESSAGE)||(c_type == AECP_COMMAND_SET_SENSOR_FORMAT))
             {
-                next_tvb = tvb_new_subset(tvb, AECP_OFFSET_SENSOR_FORMAT_SENSOR_FORMAT, 8, 8);
+                next_tvb = tvb_new_subset_length(tvb, AECP_OFFSET_SENSOR_FORMAT_SENSOR_FORMAT, 8);
                 dissect_17221_sensor_format(next_tvb, aecp_tree);
             }
             break;
index f72b25b3736aebf50141c8518c8d169675315a11..41014bb2a86b582190b7cb477b774c4bc2dc050f 100644 (file)
@@ -14392,7 +14392,7 @@ add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset
 
         offset += 2;
         oui = tvb_get_ntoh24(tvb, offset);
-        tag_tvb = tvb_new_subset(tvb, offset, tag_len, tag_len);
+        tag_tvb = tvb_new_subset_length(tvb, offset, tag_len);
         proto_tree_add_item(tree, hf_ieee80211_tag_oui, tvb, offset, 3, ENC_NA);
         proto_item_append_text(ti, ": %s", uint_get_manuf_name(oui));
         offset += 3;
index ff044e2ea5d7c565449edacc8da48156386c74cf..8f253f50f5fe8b39f93ff6f9273aa48d58e129bb 100644 (file)
@@ -487,7 +487,7 @@ dissect_ifcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, voi
                }
        }
 
-       next_tvb=tvb_new_subset(tvb, offset, frame_len-offset-4, frame_len-offset-4);
+       next_tvb=tvb_new_subset_length(tvb, offset, frame_len-offset-4);
        fc_data.ethertype = 0;
 
        if(fc_handle){
index 89b8cd73436df63e5882fe798e7fd736ac251647..3575502dfd1eca6597dce5851ef307872b19f9a7 100644 (file)
@@ -911,7 +911,7 @@ dissect_ipdc_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d
                                break;
                        case IPDC_Q931:
                                q931_tvb =
-                                       tvb_new_subset(tvb, offset+2, len, len);
+                                       tvb_new_subset_length(tvb, offset+2, len);
                                call_dissector(q931_handle,q931_tvb,pinfo,tree);
                                break;
                        case IPDC_ENCTYPE:
index b464a003169adafab1fd0a6a368ae37f8d385dc9..cce9319bab5767771cc63f5c815ec2b2eb2174f8 100644 (file)
@@ -1841,7 +1841,7 @@ parse_platform_event(tvbuff_t *tvb, proto_tree *tree)
                return;
        }
 
-       next_tvb = tvb_new_subset(tvb, 5, 1, 1);
+       next_tvb = tvb_new_subset_length(tvb, 5, 1);
        d = tvb_get_guint8(next_tvb, 0);
        if ((eti->intrp2 && eti->intrp2(tree, next_tvb, si, b2, offs, d))
                        || (si->intrp2 && si->intrp2(tree, next_tvb, si, b2, offs, d))) {
@@ -1858,7 +1858,7 @@ parse_platform_event(tvbuff_t *tvb, proto_tree *tree)
                return;
        }
 
-       next_tvb = tvb_new_subset(tvb, 6, 1, 1);
+       next_tvb = tvb_new_subset_length(tvb, 6, 1);
        d = tvb_get_guint8(next_tvb, 0);
        if ((eti->intrp3 && eti->intrp3(tree, next_tvb, si, b3, offs, d))
                        || (si->intrp3 && si->intrp3(tree, next_tvb, si, b3, offs, d))) {
index 8b815ed220c23cd5ba28552e16a8823f6decac44..3576b146c0bd5dbc27a5edf960e7fe3d05e3725a 100644 (file)
@@ -1958,8 +1958,7 @@ dissect_esp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             if (dissector_handle) {
               saved_match_uint  = pinfo->match_uint;
               pinfo->match_uint = encapsulated_protocol;
-              next_tvb = tvb_new_subset(tvb_decrypted, 0,
-                                        decrypted_len - esp_auth_len - esp_pad_len - esp_iv_len - 2,
+              next_tvb = tvb_new_subset_length(tvb_decrypted, 0,
                                         decrypted_len - esp_auth_len - esp_pad_len - esp_iv_len - 2);
               export_ipsec_pdu(dissector_handle, pinfo, next_tvb);
               call_dissector(dissector_handle, next_tvb, pinfo, tree);
@@ -2001,8 +2000,7 @@ dissect_esp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         }
         else
         {
-          next_tvb = tvb_new_subset(tvb_decrypted, 0,
-                                    decrypted_len - esp_iv_len - esp_auth_len,
+          next_tvb = tvb_new_subset_length(tvb_decrypted, 0,
                                     decrypted_len - esp_iv_len - esp_auth_len);
           export_ipsec_pdu(data_handle, pinfo, next_tvb);
           call_dissector(data_handle, next_tvb, pinfo, esp_tree);
index b9fe3310d4974837bd91ff81fb0475155e07e026..c99cab4aedd9d0812711af2afb927ffa2c83c97d 100644 (file)
@@ -4834,7 +4834,7 @@ dissect_eap(tvbuff_t *tvb, int offset, int length, proto_tree *tree, packet_info
 {
   tvbuff_t *eap_tvb = NULL;
 
-  eap_tvb = tvb_new_subset(tvb, offset,length, length );
+  eap_tvb = tvb_new_subset_length(tvb, offset, length);
   if ((eap_tvb != NULL)&& eap_handle != NULL){
          call_dissector(eap_handle, eap_tvb, pinfo, tree);
   }else{
index 4ee2a584371bdd29a9e239cc7a166c627253ea65..e580cd4a5a5a609a0893420f6959007cc274c418 100644 (file)
@@ -195,7 +195,7 @@ dissect_isl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int fcs_len)
        the data specified by the length field. */
 
     TRY {
-      payload_tvb = tvb_new_subset(tvb, 14, length, length);
+      payload_tvb = tvb_new_subset_length(tvb, 14, length);
       trailer_tvb = tvb_new_subset_remaining(tvb, 14 + length);
     }
     CATCH_BOUNDS_ERRORS {
index ecc5caf40766836021ee4ebbad5ac4e6ae43868b..09a647cb1c5da944804a32c49aeade84da3d9299 100644 (file)
@@ -4795,7 +4795,7 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
           /* If this is a segmented message we may not have all the data */
           next_tvb = tvb_new_subset_remaining(parameter_tvb, offset);
         } else {
-          next_tvb = tvb_new_subset(parameter_tvb, offset, sdp_length, sdp_length);
+          next_tvb = tvb_new_subset_length(parameter_tvb, offset, sdp_length);
         }
         if (BCTP_Indicator_field_2==0x20) {
           /* IPBCP (text encoded) */
index aec363056cfe8db1429313b0e6f3bc8b0251b9c2..c32375303333ecbe20ddafd977bf457856541af9 100644 (file)
@@ -421,7 +421,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, proto_item *parameter_i
   tvbuff_t *protocol_data_tvb;
 
   protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  protocol_data_tvb    = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_OFFSET, protocol_data_length, protocol_data_length);
+  protocol_data_tvb    = tvb_new_subset_length(parameter_tvb, PROTOCOL_DATA_OFFSET, protocol_data_length);
   proto_item_append_text(parameter_item, " (%u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
 
   if(sapi_val_assigned == FALSE)
@@ -659,7 +659,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
     dissect_parameter(parameter_tvb, pinfo, tree, iua_tree);
     /* get rid of the handled parameter */
     offset += total_length;
@@ -889,7 +889,7 @@ dissect_iua_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree,
 
   sapi_val_assigned = FALSE;
 
-  common_header_tvb = tvb_new_subset(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH);
   parameters_tvb    = tvb_new_subset_remaining(message_tvb, PARAMETERS_OFFSET);
   dissect_common_header(common_header_tvb, pinfo, iua_tree);
   dissect_parameters(parameters_tvb, pinfo, tree, iua_tree);
index d826263d3e1887148be16cad4d70217353c1de14..968397cf58ad721d5145cc81d5607245157d46d4 100644 (file)
@@ -623,7 +623,7 @@ static void dissect_iuup(tvbuff_t* tvb_in, packet_info* pinfo, proto_tree* tree)
 
         pinfo->circuit_id = phdr;
 
-        tvb = tvb_new_subset(tvb_in,2,len,len);
+        tvb = tvb_new_subset_length(tvb_in,2,len);
     }
 
     first_octet =  tvb_get_guint8(tvb,0);
index 97aac2d850c6a2134675bc6416b1d2995bfd2d9a..f7364c84c7c9e689e981c0f91effbf05b0c5520d 100644 (file)
@@ -831,14 +831,13 @@ dissect_iwarp_mpa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
                /* removes Markers if any and prepares new tvbuff for next dissector */
                if (endpoint <= MPA_RESPONDER && state->minfo[endpoint].valid
                                && number_of_markers(state, tcpinfo, endpoint) > 0) {
-                       next_tvb = tvb_new_subset(remove_markers(tvb, pinfo,
+                       next_tvb = tvb_new_subset_length(remove_markers(tvb, pinfo,
                                        get_first_marker_offset(state, tcpinfo, endpoint),
                                        number_of_markers(state, tcpinfo, endpoint),
                                        fpdu_total_length(tcpinfo)), MPA_ULPDU_LENGTH_LEN,
-                                       ulpdu_length, ulpdu_length);
-               } else {
-                       next_tvb = tvb_new_subset(tvb, MPA_ULPDU_LENGTH_LEN, ulpdu_length,
                                        ulpdu_length);
+               } else {
+                       next_tvb = tvb_new_subset_length(tvb, MPA_ULPDU_LENGTH_LEN, ulpdu_length);
                }
 
 
index d17a08ff370234d1d50825000e200cbe48e893d7..8ff1fe4915fb15d3dadec8f05ed248f8796ba190 100644 (file)
@@ -513,7 +513,7 @@ dissect_ixveriwave(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     }
 
     /* 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 or wlan header next */
     if (version == ETHERNET_PORT)
@@ -672,7 +672,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);
@@ -953,7 +953,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 we had an in-header FCS, check it. */
     if (hdr_fcs_ti) {
index 2ee53e241a3d51e067bd5f37a36d12f37fde5a52..0fd5d1a6c1152f3fe96e55cf00f71206e8cf40b6 100644 (file)
@@ -479,7 +479,7 @@ static int dissect_jxta_udp(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tr
 
         tree_offset += dissect_jxta_message_framing(jxta_message_framing_tvb, pinfo, jxta_tree, &content_length, &content_type);
 
-        jxta_message_tvb = tvb_new_subset(tvb, tree_offset, (gint) content_length, (gint) content_length);
+        jxta_message_tvb = tvb_new_subset_length(tvb, tree_offset, (gint) content_length);
 
         tree_offset += dissect_media(content_type, jxta_message_tvb, pinfo, tree);
 
@@ -601,7 +601,7 @@ static int dissect_jxta_stream(tvbuff_t * tvb, packet_info * pinfo, proto_tree *
 
         available = tvb_reported_length_remaining(tvb, offset + headers_len);
         if (available >= content_length) {
-            tvbuff_t *jxta_message_tvb = tvb_new_subset(tvb, offset + headers_len, (gint) content_length, (gint) content_length);
+            tvbuff_t *jxta_message_tvb = tvb_new_subset_length(tvb, offset + headers_len, (gint) content_length);
             conversation_t *peer_conversation = NULL;
 
             jxta_tree_item = proto_tree_add_protocol_format(tree, proto_jxta, tvb, offset, -1, "JXTA" );
@@ -1653,7 +1653,7 @@ static int dissect_jxta_message_element_1(tvbuff_t * tvb, packet_info * pinfo, p
         proto_tree_add_item(jxta_elem_tree, hf_jxta_element_content_len, tvb, tree_offset, (int)sizeof(guint32), ENC_BIG_ENDIAN);
         tree_offset += (int)sizeof(guint32);
 
-        element_content_tvb = tvb_new_subset(tvb, tree_offset, content_len, content_len);
+        element_content_tvb = tvb_new_subset_length(tvb, tree_offset, content_len);
 
         tree_offset += dissect_media(mediatype, element_content_tvb, pinfo, jxta_elem_tree);
 
@@ -1951,7 +1951,7 @@ static int dissect_jxta_message_element_2(tvbuff_t * tvb, packet_info * pinfo, p
         }
 
         /* content */
-        element_content_tvb = tvb_new_subset(tvb, tree_offset, (gint)content_len, (gint)content_len);
+        element_content_tvb = tvb_new_subset_length(tvb, tree_offset, (gint)content_len);
 
         tree_offset += dissect_media(mediatype, element_content_tvb, pinfo, jxta_elem_tree);
 
index afb4900d41cae0b79bd68247a810a195362973cf..1ae8649a496931bbf8b02e77a41bdfa2eb1d6114 100644 (file)
@@ -236,7 +236,7 @@ kafka_get_bytes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off
         return NULL;
     }
     else {
-        return tvb_new_subset(tvb, offset, len, len);
+        return tvb_new_subset_length(tvb, offset, len);
     }
 }
 
index c1e9f87b4acb86de26db753c1fae29a7f7010b1b..f51cd7d8ef9dd6e96ac2540e1d392c0c6336e11d 100644 (file)
@@ -222,7 +222,7 @@ dissect_kpasswd_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboo
     offset+=6;
 
     /* AP-REQ / AP-REP data */
-    next_tvb=tvb_new_subset(tvb, offset, ap_req_len, ap_req_len);
+    next_tvb=tvb_new_subset_length(tvb, offset, ap_req_len);
     dissect_kpasswd_ap_req_data(pinfo, next_tvb, kpasswd_tree);
     offset+=ap_req_len;
 
index 830ac7c278f625a725a0bce7a6c425741f79816e..8a4047600c46b92cad3204cc8c1493f6851231d9 100644 (file)
@@ -1534,7 +1534,7 @@ static void process_control_avps(tvbuff_t *tvb,
 
         if (avp_vendor_id != VENDOR_IETF) {
 
-            avp_tvb = tvb_new_subset(tvb, idx, avp_len, avp_len);
+            avp_tvb = tvb_new_subset_length(tvb, idx, avp_len);
 
             if (avp_vendor_id == VENDOR_CISCO) {      /* Vendor-Specific AVP */
 
@@ -1783,21 +1783,21 @@ static void process_control_avps(tvbuff_t *tvb,
         case INITIAL_RECEIVED_LCP_CONFREQ:
             te = proto_tree_add_item(l2tp_avp_tree, hf_l2tp_avp_initial_received_lcp_confreq, tvb, idx, avp_len, ENC_NA);
             l2tp_lcp_avp_tree = proto_item_add_subtree(te, ett_l2tp_lcp);
-            next_tvb = tvb_new_subset(tvb, idx, avp_len, avp_len);
+            next_tvb = tvb_new_subset_length(tvb, idx, avp_len);
             call_dissector(ppp_lcp_options_handle, next_tvb, pinfo, l2tp_lcp_avp_tree );
             break;
 
         case LAST_SENT_LCP_CONFREQ:
             te = proto_tree_add_item(l2tp_avp_tree, hf_l2tp_avp_last_sent_lcp_confreq, tvb, idx, avp_len, ENC_NA);
             l2tp_lcp_avp_tree = proto_item_add_subtree(te, ett_l2tp_lcp);
-            next_tvb = tvb_new_subset(tvb, idx, avp_len, avp_len);
+            next_tvb = tvb_new_subset_length(tvb, idx, avp_len);
             call_dissector(ppp_lcp_options_handle, next_tvb, pinfo, l2tp_lcp_avp_tree );
             break;
 
         case LAST_RECEIVED_LCP_CONFREQ:
             te = proto_tree_add_item(l2tp_avp_tree, hf_l2tp_avp_last_received_lcp_confreq, tvb, idx, avp_len, ENC_NA);
             l2tp_lcp_avp_tree = proto_item_add_subtree(te, ett_l2tp_lcp);
-            next_tvb = tvb_new_subset(tvb, idx, avp_len, avp_len);
+            next_tvb = tvb_new_subset_length(tvb, idx, avp_len);
             call_dissector(ppp_lcp_options_handle, next_tvb, pinfo, l2tp_lcp_avp_tree );
             break;
 
index 2486169ed59218fa116022a037fa53fcbaf8999b..611d460d45b74aacab34eb2cbbad5b8e989adeb6 100644 (file)
@@ -62,7 +62,7 @@ dissect_lapbether(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
     }
 
-    next_tvb = tvb_new_subset(tvb, 2, len, len);
+    next_tvb = tvb_new_subset_length(tvb, 2, len);
     call_dissector(lapb_handle, next_tvb, pinfo, tree);
 
 }
index 36f7f2fce1cb021c2565ef50bd83b046d6ec957e..ecfa56650531c6fb6ca9ee935a088f389dfe5762 100644 (file)
@@ -560,7 +560,7 @@ dissect_lapd_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean
                        expert_add_info(pinfo, pi, &ei_lapd_checksum_bad);
                }
 
-               next_tvb = tvb_new_subset(tvb, lapd_header_len, tvb_length_remaining(tvb,lapd_header_len) - 2, tvb_length_remaining(tvb,lapd_header_len) - 2);
+               next_tvb = tvb_new_subset_length(tvb, lapd_header_len, tvb_length_remaining(tvb,lapd_header_len) - 2);
 
        } else
                next_tvb = tvb_new_subset_remaining(tvb, lapd_header_len);
index 7926271ae73ba133f74ff41141c7e4e2af7e86a3..220a1e8a3a90e4ccb6262bb866ca3a60d9e299fd 100644 (file)
@@ -10772,7 +10772,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
             return (len_dissected);
         }
         /* Create a new tvb for just this LBMC message. */
-        lbmc_tvb = tvb_new_subset(tvb, tvb_lbmc_offset, (gint)msglen, (gint)msglen);
+        lbmc_tvb = tvb_new_subset_length(tvb, tvb_lbmc_offset, (gint)msglen);
         if ((type == LBMC_TYPE_MESSAGE) || (type == LBMC_TYPE_RETRANS) || (type == LBMC_TYPE_PRORX))
         {
             topic_index = tvb_get_ntohl(lbmc_tvb, O_LBMC_HDR_T_TIDX);
@@ -10897,7 +10897,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                 expert_add_info_format(pinfo, NULL, &ei_lbmc_analysis_zero_length, "LBMC header length is zero");
                 return (len_dissected);
             }
-            hdr_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, (gint)bhdr.hdr_len, (gint)bhdr.hdr_len);
+            hdr_tvb = tvb_new_subset_length(lbmc_tvb, pkt_offset, (gint)bhdr.hdr_len);
             found_header[next_hdr] = 1;
             switch (next_hdr)
             {
@@ -11365,13 +11365,12 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                     /* Has message properties */
                     actual_data_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset) - msgprop_len;
                     msgprop_offset = pkt_offset + actual_data_len;
-                    data_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, actual_data_len, actual_data_len);
-                    msgprop_tvb = tvb_new_subset(lbmc_tvb, msgprop_offset, msgprop_len, msgprop_len);
+                    data_tvb = tvb_new_subset_length(lbmc_tvb, pkt_offset, actual_data_len);
+                    msgprop_tvb = tvb_new_subset_length(lbmc_tvb, msgprop_offset, msgprop_len);
                 }
                 else
                 {
-                    actual_data_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset);
-                    data_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, actual_data_len, actual_data_len);
+                    data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset);
                     msgprop_tvb = NULL;
                 }
                 msg_complete = TRUE;
@@ -11384,7 +11383,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                 {
                     /* But don't reassemble them */
                     actual_data_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset);
-                    data_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, actual_data_len, actual_data_len);
+                    data_tvb = tvb_new_subset_length(lbmc_tvb, pkt_offset, actual_data_len);
                     msgprop_tvb = NULL;
                     msg_complete = TRUE;
                 }
@@ -11421,8 +11420,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                             {
                                 /* Store the frame number in which the message will be reassembled */
                                 msg->reassembled_frame = pinfo->fd->num;
-                                actual_data_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset);
-                                data_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, actual_data_len, actual_data_len);
+                                data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset);
                                 msgprop_tvb = NULL;
                                 msg_reassembled = TRUE;
                                 msg_complete = TRUE;
@@ -11430,8 +11428,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                             else
                             {
                                 /* This is not the last fragment of the message. */
-                                actual_data_len = tvb_reported_length_remaining(lbmc_tvb, pkt_offset);
-                                data_tvb = tvb_new_subset(lbmc_tvb, pkt_offset, actual_data_len, actual_data_len);
+                                data_tvb = tvb_new_subset_remaining(lbmc_tvb, pkt_offset);
                                 msgprop_tvb = NULL;
                                 msg_reassembled = TRUE;
                                 msg_complete = FALSE;
@@ -11468,21 +11465,21 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
                     msg->reassembled_data = tvb_new_real_data(buf, msg->total_len, msg->total_len);
                     msg_complete = TRUE;
                     /* Create separate data and msgprop tvbs */
-                    msg->data = tvb_new_subset(msg->reassembled_data, 0, msg->total_len - msg->msgprop_len, msg->total_len - msg->msgprop_len);
+                    msg->data = tvb_new_subset_length(msg->reassembled_data, 0, msg->total_len - msg->msgprop_len);
                     if (msg->msgprop_len > 0)
                     {
-                        msg->msgprop = tvb_new_subset(msg->reassembled_data, msg->total_len - msg->msgprop_len, msg->msgprop_len, msg->msgprop_len);
+                        msg->msgprop = tvb_new_subset_length(msg->reassembled_data, msg->total_len - msg->msgprop_len, msg->msgprop_len);
                     }
                     add_new_data_source(pinfo, msg->reassembled_data, "Reassembled Data");
                     if (msg->data == NULL)
                     {
-                        msg->data = tvb_new_subset(msg->reassembled_data, 0, msg->total_len - msg->msgprop_len, msg->total_len - msg->msgprop_len);
+                        msg->data = tvb_new_subset_length(msg->reassembled_data, 0, msg->total_len - msg->msgprop_len);
                     }
                     if (msg->msgprop == NULL)
                     {
                         if (msg->msgprop_len > 0)
                         {
-                            msg->msgprop = tvb_new_subset(msg->reassembled_data, msg->total_len - msg->msgprop_len, msg->msgprop_len, msg->msgprop_len);
+                            msg->msgprop = tvb_new_subset_length(msg->reassembled_data, msg->total_len - msg->msgprop_len, msg->msgprop_len);
                         }
                     }
                     data_tvb = msg->data;
index 398c3c01b18986f664d803188e12a936211ad2fb..80eb36a0268ba0b93393b606c66bf1cec30ce80f 100644 (file)
@@ -5290,7 +5290,7 @@ static int dissect_lbmr(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
             {
                 gint tvb_len = packet_len - opt_total_len;
 
-                packet_tvb = tvb_new_subset(tvb, 0, tvb_len, tvb_len);
+                packet_tvb = tvb_new_subset_length(tvb, 0, tvb_len);
             }
         }
     }
index 7d4179ddb77b39a89f9e5b5a34a068d663f8b215..4d2b505ec1a5cf51bab911e816f9a03d00501b7a 100644 (file)
@@ -886,7 +886,7 @@ static int dissect_lbtrm_data_contents(tvbuff_t * tvb, int offset, packet_info *
 {
     tvbuff_t * next_tvb;
 
-    next_tvb = tvb_new_subset(tvb, offset, -1, -1);
+    next_tvb = tvb_new_subset_remaining(tvb, offset);
     return (lbmc_dissect_lbmc_packet(next_tvb, 0, pinfo, tree, tag_name, channel));
 }
 
index c7c7eda9fae4bd81716fa45159c8c38a30f854cf..1af694ea59f17538368177224a656b6d9ab074e4 100644 (file)
@@ -903,7 +903,7 @@ static int dissect_lbtru_data_contents(tvbuff_t * tvb, int offset, packet_info *
 {
     tvbuff_t * next_tvb;
 
-    next_tvb = tvb_new_subset(tvb, offset, -1, -1);
+    next_tvb = tvb_new_subset_remaining(tvb, offset);
     return (lbmc_dissect_lbmc_packet(next_tvb, 0, pinfo, tree, tag_name, channel));
 }
 
index 536e52da41be4e81c73d95bca1530cc7d1e18b97..1156c240b9c63312401a5d61cb5c3722e771206b 100644 (file)
@@ -839,7 +839,7 @@ dissect_ldap_AssertionValue(gboolean implicit_tag, tvbuff_t *tvb, int offset, as
                char *tmpstr;
 
                /* this octet string contains an NT SID */
-               sid_tvb=tvb_new_subset(tvb, offset, len, len);
+               sid_tvb=tvb_new_subset_length(tvb, offset, len);
                dissect_nt_sid(sid_tvb, 0, tree, "SID", &tmpstr, hf_index);
                ldapvalue_string=tmpstr;
 
@@ -4129,10 +4129,7 @@ static void
                                /* if we could unwrap, do a tvb shuffle */
                                if(pinfo->gssapi_decrypted_tvb){
                                        decr_tvb=pinfo->gssapi_decrypted_tvb;
-                               } else if (pinfo->gssapi_wrap_tvb) {
-                                       plain_tvb=pinfo->gssapi_wrap_tvb;
                                }
-
                                /* tidy up */
                                pinfo->decrypt_gssapi_tvb=0;
                                pinfo->gssapi_wrap_tvb=NULL;
@@ -4152,7 +4149,7 @@ static void
                                * see if the wrapping involved encryption of the
                                * data; if not, just use the plaintext data.
                                */
-                               if (!decr_tvb && !plain_tvb) {
+                               if (!decr_tvb) {
                                        if(!pinfo->gssapi_data_encrypted){
                                                plain_tvb = tvb_new_subset_remaining(gssapi_tvb,  ver_len);
                                        }
index 8464a64042ddc96a20906b29b57a93005269763b..d756d13e273b2bd5bb3fb97f4cefe22d797f6396 100644 (file)
@@ -339,7 +339,7 @@ dissect_linx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                version = (dword >> 25) & 0x7;
                nexthdr = (dword >> 28) & 0xf;
                pkgsize = dword & 0x3fff;
-               linx_tvb = tvb_new_subset(tvb, 0, pkgsize, pkgsize);
+               linx_tvb = tvb_new_subset_length(tvb, 0, pkgsize);
                tvb_set_reported_length(tvb, pkgsize);
 
                /* Supports version 2 and 3 so far */
@@ -873,7 +873,7 @@ dissect_linx_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        col_append_fstr(pinfo->cinfo, COL_INFO, "tcpcm:%s ", val_to_str_const(type, linx_short_tcp_names, "unknown"));
 
        tvb_set_reported_length(tvb, size);
-       linx_tcp_tvb = tvb_new_subset(tvb, 0, size, size);
+       linx_tcp_tvb = tvb_new_subset_length(tvb, 0, size);
 
        ti = proto_tree_add_item(tree, proto_linx_tcp, linx_tcp_tvb, 0, -1, ENC_NA);
        linx_tcp_tree = proto_item_add_subtree(ti, ett_linx_tcp);
index 330af0cb259fe71ff88e0197179956616fe668db..d73244bb9cb5bd6c45f245d00cd3775618477282 100644 (file)
@@ -3295,7 +3295,7 @@ dissect_lldp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                tempShort = tvb_get_ntohs(tvb, offset);
                tempType = TLV_TYPE(tempShort);
                /* pass only TLV to dissectors, Zero offset (point to front of tlv) */
-               new_tvb = tvb_new_subset(tvb, offset, TLV_INFO_LEN(tempShort)+2, TLV_INFO_LEN(tempShort)+2);
+               new_tvb = tvb_new_subset_length(tvb, offset, TLV_INFO_LEN(tempShort)+2);
                switch (tempType)
                {
                case CHASSIS_ID_TLV_TYPE:
index d5a2a37170232f0170467d8a790bc8d632b9ddd0..fad45bd176af17f7cf3a6b672842ec519b9eab0f 100644 (file)
@@ -5327,7 +5327,7 @@ dissect_lte_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree
   }
   for (i = 0, offset = 1; i < nb_of_pages; i++) {
     length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
-    cb_data_page_tvb = tvb_new_subset(warning_msg_seg_tvb, offset, length, length);
+    cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
     cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
     if (cb_data_tvb) {
       str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
index 5316f8b8e09b38f7f37a9c6e14d104201b25f9ea..4738ab78139ee1628efd50eb73cbc0ddf1bae32c 100644 (file)
@@ -341,7 +341,7 @@ dissect_data_segment(proto_tree *ltp_tree, tvbuff_t *tvb,packet_info *pinfo,int
                        /* if the segment has not been fragmented, then no reassembly is needed */
                        if(!more_frags && offset == 0)
                        {
-                               new_tvb = tvb_new_subset(tvb,frame_offset,tvb_length(tvb)-frame_offset,-1);
+                               new_tvb = tvb_new_subset_remaining(tvb,frame_offset);
                        }
                        else
                        {
index a57d02cbb0505d12752fbbdfbc27eef89119b49e..7ffc180867bfc3138e5fb0920a08ec7bccaf29ba 100644 (file)
@@ -398,7 +398,7 @@ dissect_v2_message_data(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *m
     THROW(ReportedBoundsError);
   }
 
-  message_data_tvb    = tvb_new_subset(message_tvb, V2_MESSAGE_DATA_OFFSET, message_data_length, message_data_length);
+  message_data_tvb    = tvb_new_subset_length(message_tvb, V2_MESSAGE_DATA_OFFSET, message_data_length);
   type                = tvb_get_ntohs(message_tvb, V2_TYPE_OFFSET);
 
   switch(type) {
@@ -429,7 +429,7 @@ dissect_v8_message_data(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *m
         "Invalid message data length: %u", message_data_length);
     THROW(ReportedBoundsError);
   }
-  message_data_tvb    = tvb_new_subset(message_tvb, V8_MESSAGE_DATA_OFFSET, message_data_length, message_data_length);
+  message_data_tvb    = tvb_new_subset_length(message_tvb, V8_MESSAGE_DATA_OFFSET, message_data_length);
   type                = tvb_get_guint8(message_tvb, V8_TYPE_OFFSET);
 
 
@@ -456,7 +456,7 @@ dissect_message_data(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *m2pa
 
   length              = tvb_get_ntohl(message_tvb, LENGTH_OFFSET);
   message_data_length = length - HEADER_LENGTH;
-  message_data_tvb    = tvb_new_subset(message_tvb, MESSAGE_DATA_OFFSET, message_data_length, message_data_length);
+  message_data_tvb    = tvb_new_subset_length(message_tvb, MESSAGE_DATA_OFFSET, message_data_length);
   type                = tvb_get_guint8(message_tvb, TYPE_OFFSET);
 
 
index a8880459dc758511bbd4b51d4567ff5f819b0e54..025a4f2b27fb7614b6144fb097cb7deb1c734299 100644 (file)
@@ -406,7 +406,7 @@ dissect_m2tp_protocol_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
   padding_length       = nr_of_padding_bytes(length);
   protocol_data_length = length - PARAMETER_HEADER_LENGTH;
 
-  mtp2_tvb = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length, protocol_data_length);
+  mtp2_tvb = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length);
   call_dissector(mtp2_handle, mtp2_tvb, pinfo, tree);
 
   if (parameter_tree) {
@@ -507,7 +507,7 @@ dissect_m2tp_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *m2tp
   offset = 0;
 
   /* extract and process the common header */
-  common_header_tvb = tvb_new_subset(message_tvb, offset, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, offset, COMMON_HEADER_LENGTH);
   dissect_m2tp_common_header(common_header_tvb, pinfo, m2tp_tree);
   offset += COMMON_HEADER_LENGTH;
 
@@ -517,7 +517,7 @@ dissect_m2tp_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_item *m2tp
     padding_length = nr_of_padding_bytes(length);
     total_length   = length + padding_length;
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb    = tvb_new_subset(message_tvb, offset, total_length, total_length);
+    parameter_tvb    = tvb_new_subset_length(message_tvb, offset, total_length);
     dissect_m2tp_parameter(parameter_tvb, pinfo, m2tp_tree, m2tp_item, tree);
     /* get rid of the handled parameter */
     offset += total_length;
index fea7ae4d948882d3e6c24b06ca8f512b20299da0..c869e1db091efa9fce881cb5d314d79c15dea7ec 100644 (file)
@@ -500,7 +500,7 @@ dissect_protocol_data_1_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
 
   payload_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
 
-  payload_tvb = tvb_new_subset(parameter_tvb, DATA_1_MTP3_OFFSET, payload_length, payload_length);
+  payload_tvb = tvb_new_subset_length(parameter_tvb, DATA_1_MTP3_OFFSET, payload_length);
   proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH);
   call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
 
@@ -520,7 +520,7 @@ dissect_protocol_data_2_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
   payload_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - DATA_2_LI_LENGTH;
 
   proto_tree_add_item(parameter_tree, hf_data_2_li, parameter_tvb, DATA_2_LI_OFFSET, DATA_2_LI_LENGTH, ENC_BIG_ENDIAN);
-  payload_tvb = tvb_new_subset(parameter_tvb, DATA_2_MTP3_OFFSET, payload_length, payload_length);
+  payload_tvb = tvb_new_subset_length(parameter_tvb, DATA_2_MTP3_OFFSET, payload_length);
   proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH + DATA_2_LI_LENGTH);
   call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
 }
@@ -671,7 +671,7 @@ dissect_link_key_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tr
   guint16 parameters_length;
 
   parameters_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -718,7 +718,7 @@ dissect_registration_result_parameter(tvbuff_t *parameter_tvb, packet_info *pinf
   guint16  parameters_length;
 
   parameters_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -761,7 +761,7 @@ dissect_deregistration_result_parameter(tvbuff_t *parameter_tvb, packet_info *pi
   guint16  parameters_length;
 
   parameters_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -1021,7 +1021,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb    = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb    = tvb_new_subset_length(parameters_tvb, offset, total_length);
     dissect_parameter(parameter_tvb, pinfo, tree, m2ua_tree);
     /* get rid of the handled parameter */
     offset += total_length;
@@ -1034,7 +1034,7 @@ dissect_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree, pro
 {
   tvbuff_t *common_header_tvb, *parameters_tvb;
 
-  common_header_tvb = tvb_new_subset(message_tvb, 0, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, 0, COMMON_HEADER_LENGTH);
   parameters_tvb    = tvb_new_subset_remaining(message_tvb, COMMON_HEADER_LENGTH);
   dissect_common_header(common_header_tvb, pinfo, m2ua_tree);
   dissect_parameters(parameters_tvb, pinfo, tree, m2ua_tree);
index da7a7d901750405223561d4ec2a3f19fca080a08..917d3ba4ef4c5e4a2dd23b7700e6a22eb5586b6f 100644 (file)
@@ -394,7 +394,7 @@ dissect_v5_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo,
 
   length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
   protocol_data_length = length - PARAMETER_HEADER_LENGTH;
-  payload_tvb          = tvb_new_subset(parameter_tvb, V5_PROTOCOL_DATA_OFFSET, protocol_data_length, protocol_data_length);
+  payload_tvb          = tvb_new_subset_length(parameter_tvb, V5_PROTOCOL_DATA_OFFSET, protocol_data_length);
   proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
   proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH);
   call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
@@ -825,7 +825,7 @@ dissect_protocol_data_1_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
   tvbuff_t *payload_tvb;
 
   protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  payload_tvb          = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_1_OFFSET, protocol_data_length, protocol_data_length);
+  payload_tvb          = tvb_new_subset_length(parameter_tvb, PROTOCOL_DATA_1_OFFSET, protocol_data_length);
   proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
   proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH);
   call_dissector(mtp3_handle, payload_tvb, pinfo, tree);
@@ -842,7 +842,7 @@ dissect_protocol_data_2_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, p
   tvbuff_t *payload_tvb;
 
   protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - LI_OCTETT_LENGTH;
-  payload_tvb          = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_2_OFFSET, protocol_data_length, protocol_data_length);
+  payload_tvb          = tvb_new_subset_length(parameter_tvb, PROTOCOL_DATA_2_OFFSET, protocol_data_length);
   proto_tree_add_item(parameter_tree, hf_li, parameter_tvb, LI_OCTETT_OFFSET, LI_OCTETT_LENGTH, ENC_BIG_ENDIAN);
   proto_item_append_text(parameter_item, " (SS7 message of %u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
   proto_item_set_len(parameter_item, PARAMETER_HEADER_LENGTH + LI_OCTETT_LENGTH);
@@ -877,7 +877,7 @@ dissect_routing_key_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto
 
   length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
   parameters_length = length - PARAMETER_HEADER_LENGTH;
-  parameters_tvb          = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb          = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -917,7 +917,7 @@ dissect_registration_result_parameter(tvbuff_t *parameter_tvb, packet_info *pinf
 
   length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
   parameters_length = length - PARAMETER_HEADER_LENGTH;
-  parameters_tvb          = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb          = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -950,7 +950,7 @@ dissect_deregistration_result_parameter(tvbuff_t *parameter_tvb, packet_info *pi
 
   length            = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET);
   parameters_length = length - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -1169,7 +1169,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
 
   si = tvb_get_guint8(parameter_tvb, DATA_SI_OFFSET);
   ulp_length  = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH - DATA_HDR_LENGTH;
-  payload_tvb = tvb_new_subset(parameter_tvb, DATA_ULP_OFFSET, ulp_length, ulp_length);
+  payload_tvb = tvb_new_subset_length(parameter_tvb, DATA_ULP_OFFSET, ulp_length);
   dpc = tvb_get_ntohl(parameter_tvb, DATA_DPC_OFFSET);
   opc = tvb_get_ntohl(parameter_tvb, DATA_OPC_OFFSET);
 
@@ -1255,7 +1255,7 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, pro
 
   }/* parameter_tree */
 
-  payload_tvb = tvb_new_subset(parameter_tvb, DATA_ULP_OFFSET, ulp_length, ulp_length);
+  payload_tvb = tvb_new_subset_length(parameter_tvb, DATA_ULP_OFFSET, ulp_length);
   if (!dissector_try_uint(si_dissector_table, tvb_get_guint8(parameter_tvb, DATA_SI_OFFSET), payload_tvb, pinfo, tree))
     call_dissector(data_handle, payload_tvb, pinfo, tree);
 
@@ -1324,7 +1324,7 @@ dissect_registration_results_parameter(tvbuff_t *parameter_tvb, packet_info *pin
   guint16 parameters_length;
 
   parameters_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -1335,7 +1335,7 @@ dissect_deregistration_results_parameter(tvbuff_t *parameter_tvb, packet_info *p
   guint16 parameters_length;
 
   parameters_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-  parameters_tvb    = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length, parameters_length);
+  parameters_tvb    = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, parameters_length);
   dissect_parameters(parameters_tvb, pinfo, tree, parameter_tree);
 }
 
@@ -1962,7 +1962,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb    = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb    = tvb_new_subset_length(parameters_tvb, offset, total_length);
     switch(version) {
       case M3UA_V5:
         dissect_v5_parameter(parameter_tvb, pinfo, tree, m3ua_tree);
@@ -1988,7 +1988,7 @@ dissect_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree, pro
 {
   tvbuff_t *common_header_tvb, *parameters_tvb;
 
-  common_header_tvb = tvb_new_subset(message_tvb, 0, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, 0, COMMON_HEADER_LENGTH);
   parameters_tvb    = tvb_new_subset_remaining(message_tvb, COMMON_HEADER_LENGTH);
   if (version == M3UA_V5)
     dissect_v5_common_header(common_header_tvb, pinfo, m3ua_tree);
index ed3756c40e22b72695c5d2c32e766f123035f8da..f4f05339537eeda237985ab2f368911663e75826 100644 (file)
@@ -2849,7 +2849,7 @@ static void call_rlc_dissector(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
                                guint8 UMSequenceNumberLength,
                                guint8 priority)
 {
-    tvbuff_t            *rb_tvb = tvb_new_subset(tvb, offset, data_length, data_length);
+    tvbuff_t            *rb_tvb = tvb_new_subset_length(tvb, offset, data_length);
     struct rlc_lte_info *p_rlc_lte_info;
 
     /* Resuse or create RLC info */
@@ -4025,7 +4025,7 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree
                         proto_tree_add_item(cr_tree, hf_mac_lte_control_ue_contention_resolution_identity,
                                             tvb, offset, 6, ENC_NA);
                         if (global_mac_lte_decode_cr_body) {
-                            tvbuff_t *cr_body_tvb = tvb_new_subset(tvb, offset, 6, 6);
+                            tvbuff_t *cr_body_tvb = tvb_new_subset_length(tvb, offset, 6);
                             dissector_handle_t ul_ccch_handle = find_dissector("lte_rrc.ul_ccch");
                             if (ul_ccch_handle != 0) {
                                 call_with_catch_all(ul_ccch_handle, cr_body_tvb, pinfo, cr_tree);
@@ -4646,7 +4646,7 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
         /* CCCH frames can be dissected directly by LTE RRC... */
         if ((lcids[n] == 0) && global_mac_lte_attempt_rrc_decode) {
-            tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, data_length, data_length);
+            tvbuff_t *rrc_tvb = tvb_new_subset_length(tvb, offset, data_length);
 
             /* Get appropriate dissector handle */
             volatile dissector_handle_t protocol_handle = 0;
index e19f4548713f20589df22831b6f48dc4d37742b2..b759cd8d4ab9e6ada83ad63920aadaa1640bceb5 100644 (file)
@@ -93,7 +93,7 @@ static int dissect_macsec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
     data_length = tvb_length(tvb) - sectag_length - icv_length;
     icv_offset  = data_length + data_offset;
 
-    next_tvb = tvb_new_subset(tvb, data_offset, data_length, data_length);
+    next_tvb = tvb_new_subset_length(tvb, data_offset, data_length);
 
     col_set_str(pinfo->cinfo, COL_PROTOCOL, "MACSEC");
     col_set_str(pinfo->cinfo, COL_INFO, "MACsec frame");
index 18a4dda3c3301f83fc28592c20426302c8109586..b33d2fa38abb88e133faf7f9e5dca6d3d7229301 100644 (file)
@@ -2989,8 +2989,8 @@ mbim_dissect_sms_pdu_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
             }
             if (pdu_data_size > (guint32)(sc_address_size + 1)) {
                 pdu_data_size -= sc_address_size + 1;
-                sms_tvb = tvb_new_subset(tvb, base_offset + pdu_data_offset + 1 + sc_address_size,
-                                         pdu_data_size, pdu_data_size);
+                sms_tvb = tvb_new_subset_length(tvb, base_offset + pdu_data_offset + 1 + sc_address_size,
+                                         pdu_data_size);
                 pinfo->p2p_dir = (message_status < 2) ? P2P_DIR_SENT : P2P_DIR_RECV;
                 call_dissector(gsm_sms_handle, sms_tvb, pinfo, subtree);
             }
@@ -2999,7 +2999,7 @@ mbim_dissect_sms_pdu_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                      pdu_data_size, ENC_NA);
             subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
             if ((mbim_conv->cellular_class & MBIM_CELLULAR_CLASS_CDMA) && cdma_sms_handle) {
-                sms_tvb = tvb_new_subset(tvb, base_offset + pdu_data_offset, pdu_data_size, pdu_data_size);
+                sms_tvb = tvb_new_subset_length(tvb, base_offset + pdu_data_offset, pdu_data_size);
                 call_dissector(cdma_sms_handle, sms_tvb, pinfo, subtree);
             }
         }
@@ -3188,8 +3188,8 @@ mbim_dissect_sms_send_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
                                      sc_address_size, NULL, 0);
             }
             if (pdu_data_size > (guint32)(sc_address_size + 1)) {
-                sms_tvb = tvb_new_subset(tvb, base_offset + pdu_data_offset + 1 + sc_address_size,
-                                         pdu_data_size, pdu_data_size);
+                sms_tvb = tvb_new_subset_length(tvb, base_offset + pdu_data_offset + 1 + sc_address_size,
+                                         pdu_data_size);
                 pinfo->p2p_dir = P2P_DIR_RECV;
                 call_dissector(gsm_sms_handle, sms_tvb, pinfo, subtree);
             }
@@ -3198,7 +3198,7 @@ mbim_dissect_sms_send_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
                                      pdu_data_size, ENC_NA);
             subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
             if ((mbim_conv->cellular_class & MBIM_CELLULAR_CLASS_CDMA) && cdma_sms_handle) {
-                sms_tvb = tvb_new_subset(tvb, base_offset + pdu_data_offset, pdu_data_size, pdu_data_size);
+                sms_tvb = tvb_new_subset_length(tvb, base_offset + pdu_data_offset, pdu_data_size);
                 call_dissector(cdma_sms_handle, sms_tvb, pinfo, subtree);
             }
         }
@@ -3294,7 +3294,7 @@ mbim_dissect_set_ussd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint
         ti = proto_tree_add_item(tree, hf_mbim_set_ussd_ussd_payload, tvb, base_offset + ussd_payload_offset,
                                  ussd_payload_length, ENC_NA);
         subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
-        ussd_tvb = tvb_new_subset(tvb, base_offset + ussd_payload_offset, ussd_payload_length, ussd_payload_length);
+        ussd_tvb = tvb_new_subset_length(tvb, base_offset + ussd_payload_offset, ussd_payload_length);
         switch (encoding) {
             case SMS_ENCODING_7BIT:
             case SMS_ENCODING_7BIT_LANG:
@@ -3346,7 +3346,7 @@ mbim_dissect_ussd_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint
         ti = proto_tree_add_item(tree, hf_mbim_ussd_info_ussd_payload, tvb, base_offset + ussd_payload_offset,
                                  ussd_payload_length, ENC_NA);
         subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
-        ussd_tvb = tvb_new_subset(tvb, base_offset + ussd_payload_offset, ussd_payload_length, ussd_payload_length);
+        ussd_tvb = tvb_new_subset_length(tvb, base_offset + ussd_payload_offset, ussd_payload_length);
         switch (encoding) {
             case SMS_ENCODING_7BIT:
             case SMS_ENCODING_7BIT_LANG:
@@ -3608,7 +3608,7 @@ mbim_dissect_set_stk_terminal_response(tvbuff_t *tvb, packet_info *pinfo, proto_
     ti = proto_tree_add_item(tree, hf_mbim_set_stk_terminal_response_data_buffer, tvb, offset, response_length, ENC_NA);
     if (etsi_cat_handle) {
         subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
-        pac_tvb = tvb_new_subset(tvb, offset, response_length, response_length);
+        pac_tvb = tvb_new_subset_length(tvb, offset, response_length);
         call_dissector(etsi_cat_handle, pac_tvb, pinfo, subtree);
     }
 }
@@ -4206,7 +4206,7 @@ dissect_mbim_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *
                                                              frag_tvb, offset, info_buff_len, ENC_NA);
                                     if (bertlv_handle) {
                                         env_tree = proto_item_add_subtree(ti, ett_mbim_buffer);
-                                        env_tvb = tvb_new_subset(frag_tvb, offset, info_buff_len, info_buff_len);
+                                        env_tvb = tvb_new_subset_length(frag_tvb, offset, info_buff_len);
                                         call_dissector(bertlv_handle, env_tvb, pinfo, env_tree);
                                     }
                                 } else if (info_buff_len) {
@@ -4666,7 +4666,7 @@ dissect_mbim_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *
                                     ti = proto_tree_add_item(subtree, hf_mbim_stk_pac_pac, frag_tvb, offset, pac_length, ENC_NA);
                                     if (bertlv_handle) {
                                         pac_tree = proto_item_add_subtree(ti, ett_mbim_buffer);
-                                        pac_tvb = tvb_new_subset(frag_tvb, offset, pac_length, pac_length);
+                                        pac_tvb = tvb_new_subset_length(frag_tvb, offset, pac_length);
                                         call_dissector(bertlv_handle, pac_tvb, pinfo, pac_tree);
                                     }
                                 }
index 8535921255cbd54695c368994ae68b43b92bcecf..75687b560e7085b3b3efa16c0cbbf683ffa3e7a7 100644 (file)
@@ -480,7 +480,7 @@ dissect_mbtcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat
     proto_tree_add_uint(mbtcp_tree, hf_mbtcp_unitid, tvb, offset + 6, 1, unit_id);
 
     /* dissect the Modbus PDU */
-    next_tvb = tvb_new_subset( tvb, offset+7, len-1, len-1);
+    next_tvb = tvb_new_subset_length( tvb, offset+7, len-1);
 
     /* keep existing context */
     p_save_proto_data = p_get_proto_data(wmem_file_scope(), pinfo, proto_modbus, 0 );
@@ -622,7 +622,7 @@ dissect_mbrtu_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat
     len = len - 2;
 
     /* dissect the Modbus PDU                      */
-    next_tvb = tvb_new_subset( tvb, offset+1, len-1, len-1);
+    next_tvb = tvb_new_subset_length( tvb, offset+1, len-1);
 
     /* keep existing context */
     p_save_proto_data = p_get_proto_data(wmem_file_scope(), pinfo, proto_modbus, 0 );
index ee787e46d1d96b8981f9742a215b9b7067b85f5d..7c57f915cc8ace3a765f117359433a545207d146 100644 (file)
@@ -232,7 +232,7 @@ dissect_mdshdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
     if (tvb_length(tvb) >= MDSHDR_HEADER_SIZE + pktlen
         && 0 != pktlen /*if something wrong*/) {
-        next_tvb = tvb_new_subset(tvb, MDSHDR_HEADER_SIZE, pktlen, pktlen);
+        next_tvb = tvb_new_subset_length(tvb, MDSHDR_HEADER_SIZE, pktlen);
         /* XXX what to do with the rest of this frame? --ArtemTamazov */
     }
     else {
index 1036f3a6731ff809e8b2fa20a0100b20d9fce06c..34ffbe0f50cf26a8d7a4eb349167053519362b60 100644 (file)
@@ -2967,7 +2967,7 @@ dissect_megaco_Localdescriptor(tvbuff_t *tvb, proto_tree *megaco_mediadescriptor
 
     tokenlen = tvb_next_offset - tvb_current_offset;
     if ( tokenlen > 3 ){
-        next_tvb = tvb_new_subset(tvb, tvb_current_offset, tokenlen, tokenlen);
+        next_tvb = tvb_new_subset_length(tvb, tvb_current_offset, tokenlen);
         call_dissector(sdp_handle, next_tvb, pinfo, megaco_localdescriptor_tree);
     }
 }
index 4c4d408318a166a516b5c07ca43af708a6a31ae9..2cabd662dc49a18a30c3f6937a9f0b96dc5372ac 100644 (file)
@@ -1630,7 +1630,7 @@ static void dissect_mih_tlv(tvbuff_t *tvb,int offset, proto_tree *tlv_tree, guin
                                         tvb_mihf_id = tvb_new_composite();
                                         for(i=0; i < mihf_id_len/2; i++)
                                         {
-                                                tvb_temp = tvb_new_subset(tvb, offset + 2 + 2*i, 1 , 1);
+                                                tvb_temp = tvb_new_subset_length(tvb, offset + 2 + 2*i, 1);
                                                 tvb_composite_append(tvb_mihf_id, tvb_temp);
                                         }
                                         TRY
index 4ee22b92b0761e18b5eb7b0b61973c3e00fc4f18..c946854f226aa6114e20dc468d1d12f3fd10072c 100644 (file)
@@ -768,7 +768,7 @@ dissect_payload_kemac(mikey_t *mikey, tvbuff_t *tvb, packet_info *pinfo, proto_t
                        key_data_item = proto_tree_add_item(tree, hf_mikey_pl[PL_KEY_DATA], tvb, 4, encr_length, ENC_NA);
                        key_data_tree = proto_item_add_subtree(key_data_item, ett_mikey_enc_data);
 
-                       sub_tvb = tvb_new_subset(tvb, offset+4, encr_length, encr_length);
+                       sub_tvb = tvb_new_subset_length(tvb, offset+4, encr_length);
                        dissect_payload(PL_KEY_DATA, mikey, sub_tvb, pinfo, key_data_tree);
                } else {
                        /* If Key Data is encrypted, show only the encr_data */
@@ -1000,7 +1000,7 @@ dissect_payload_cert(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo, prot
                proto_item_append_text(parent, " Type: %s", val_to_str_const(type, cert_type_vals, "Unknown"));
        }
 
-       subtvb = tvb_new_subset(tvb, offset+4, length, length);
+       subtvb = tvb_new_subset_length(tvb, offset+4, length);
        dissect_x509af_Certificate(FALSE, subtvb, 0, &asn1_ctx, tree, hf_mikey[POS_CERTIFICATE]);
 
        return 4 + length;
@@ -1118,7 +1118,7 @@ dissect_payload_sp(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
                int       param_len;
                tvbuff_t *subtvb;
 
-               subtvb = tvb_new_subset(tvb, offset+sub_pos, length-sub_pos, length-sub_pos);
+               subtvb = tvb_new_subset_length(tvb, offset+sub_pos, length-sub_pos);
                param_len = dissect_payload_sp_param(type, subtvb, tree);
 
                if (param_len < 0)
index fb97a0f1e2142d8ac307762696abcf9c0109a916..469d3fddd68b9fb41306f9d5e44840f2596ac55a 100644 (file)
@@ -291,7 +291,7 @@ dissect_eth_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *mint_tree,
         col_set_writable(pinfo->cinfo, FALSE);
 #endif
 
-       eth_tvb = tvb_new_subset(tvb, offset, length, length);
+       eth_tvb = tvb_new_subset_length(tvb, offset, length);
        /* Continue after Ethernet dissection errors */
        TRY {
                call_dissector(eth_handle, eth_tvb, pinfo, mint_tree);
index af9b4ae4a17963de113dcc49632101d2116d73ba..8939a25f0cadd39e23ac809c19e2e880586b2eff 100644 (file)
@@ -748,7 +748,7 @@ dissect_mip_extensions( tvbuff_t *tvb, int offset, proto_tree *tree, packet_info
           proto_tree_add_item(ext_tree, hf_mip_nvse_vendor_org_id, tvb, nvse_local_offset, 4, ENC_BIG_ENDIAN);
           nvse_local_offset+=4;
 
-          next_tvb = tvb_new_subset(tvb, nvse_local_offset, ext_len-6, ext_len-6);
+          next_tvb = tvb_new_subset_length(tvb, nvse_local_offset, ext_len-6);
           if (!dissector_try_uint(mip_nvse_ext_dissector_table, nvse_vendor_org_id, next_tvb, pinfo, ext_tree)){
 
               /*Vendor NVSE Type*/
index b11ee0024e881f57d5c685486df627b8b006e2ba..78e3b283d1130633bcdb668197547bb99ebf8cb9 100644 (file)
@@ -1798,7 +1798,7 @@ dissect_mip6_opt_vsm_3gpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
      * FQ-CSID as specified in subclause 12.1.1.2
      */
     case 5:
-        next_tvb = tvb_new_subset(tvb, offset, len, len);
+        next_tvb = tvb_new_subset_length(tvb, offset, len);
         dissect_gtpv2_fq_csid(next_tvb, pinfo, tree, hdr_item, len, 0, 0);
         break;
     /*  6, PMIPv6 PDN type indication */
@@ -1816,7 +1816,7 @@ dissect_mip6_opt_vsm_3gpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
         break;
     /*  8, Selection Mode */
     case 8:
-        next_tvb = tvb_new_subset(tvb, offset, len, len);
+        next_tvb = tvb_new_subset_length(tvb, offset, len);
         dissect_gtpv2_selec_mode(next_tvb, pinfo, tree, hdr_item, len, 0, 0);
         break;
     /*  9, I-WLAN Mobility Access Point Name (APN) */
@@ -1862,7 +1862,7 @@ dissect_mip6_opt_vsm_3gpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
          break;
     /* 18, PGW Back-Off Time */
     case 18:
-        next_tvb = tvb_new_subset(tvb, offset, len, len);
+        next_tvb = tvb_new_subset_length(tvb, offset, len);
         dissect_gtpv2_epc_timer(next_tvb, pinfo, tree, hdr_item, len, 0, 0);
         break;
     /* 19, Signalling Priority Indication */
@@ -2236,7 +2236,7 @@ dissect_mip6_opt_vsm(const mip6_opt *optp _U_, tvbuff_t *tvb, int offset,
     proto_item_append_text(hdr_item, ": %s", val_to_str_ext_const(vendorid, &sminmpec_values_ext, "<unknown>"));
     offset += 4;
 
-    next_tvb = tvb_new_subset(tvb, offset, optlen-MIP6_VSM_SUBTYPE_OFF, optlen-MIP6_VSM_SUBTYPE_OFF);
+    next_tvb = tvb_new_subset_length(tvb, offset, optlen-MIP6_VSM_SUBTYPE_OFF);
     if (!dissector_try_uint(mip6_vsm_dissector_table, vendorid, next_tvb, pinfo, opt_tree)){
         proto_tree_add_item(opt_tree, hf_mip6_vsm_subtype, tvb,
                 offset, MIP6_VSM_SUBTYPE_LEN, ENC_BIG_ENDIAN);
index 8ddf8b6804741f429ac0ed0591ad72eeb52a0aab..0812737591f5d61695aa94ba1ae4fb35eb366ed2 100644 (file)
@@ -745,7 +745,7 @@ mp2t_process_fragmented_payload(tvbuff_t *tvb, gint offset, guint remaining_len,
             /* Check for full packets within this TS frame */
             if (frag_tot_len &&
                     frag_tot_len <= remaining_len) {
-                next_tvb = tvb_new_subset(tvb, offset, frag_tot_len, frag_tot_len);
+                next_tvb = tvb_new_subset_length(tvb, offset, frag_tot_len);
                 mp2t_dissect_packet(next_tvb, pid_analysis->pload_type, pinfo, tree);
                 remaining_len -= frag_tot_len;
                 offset += frag_tot_len;
index 4fc7239ebc6f05312af001052deb8d15435eae2e..b4b64ecaf0ed1b67dd7d9fd75a6b16bab68ef320 100644 (file)
@@ -283,7 +283,7 @@ dissect_dsmcc_adaptation_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
         proto_tree_add_item(sub_tree, hf_dsmcc_adaptation_ca_length, tvb,
             offset, 2, ENC_BIG_ENDIAN);
         offset += 2;
-        sub_tvb = tvb_new_subset(tvb, offset, ca_len, ca_len);
+        sub_tvb = tvb_new_subset_length(tvb, offset, ca_len);
         call_dissector(data_handle, sub_tvb, pinfo, tree);
     } else if (2 == type) {
         pi = proto_tree_add_text(tree, tvb, offset, -1, "Adaptation Header");
@@ -368,7 +368,7 @@ dissect_dsmcc_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
     offset += 2;
 
     if (0 < adaptation_len) {
-        sub_tvb = tvb_new_subset(tvb, offset, adaptation_len, adaptation_len);
+        sub_tvb = tvb_new_subset_length(tvb, offset, adaptation_len);
         dissect_dsmcc_adaptation_header(sub_tvb, pinfo, sub_tree);
         offset += adaptation_len;
     }
@@ -769,7 +769,7 @@ dissect_dsmcc_ts(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree_in, void *d
         offset, 1, ENC_BIG_ENDIAN);
     offset +=1;
 
-    sub_tvb = tvb_new_subset(tvb, offset, sect_len-9, sect_len-9);
+    sub_tvb = tvb_new_subset_length(tvb, offset, sect_len-9);
     switch (tid) {
         case DSMCC_TID_LLCSNAP:
             /* TODO: Add support */
index 2b03160086b94b75ef316de53a4c8f1d6cc981f4..81b181b6d98df11b1f0cfda2c57f515276b44e86 100644 (file)
@@ -940,8 +940,8 @@ dissect_mpeg_pes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
                        header_length = tvb_get_guint8(tvb, 8);
                        if (header_length > 0) {
                                int flags = tvb_get_guint8(tvb, 7);
-                               tvbuff_t *header_data = tvb_new_subset(tvb, offset / 8,
-                                               header_length, header_length);
+                               tvbuff_t *header_data = tvb_new_subset_length(tvb, offset / 8,
+                                               header_length);
                                dissect_mpeg_pes_header_data(header_data, pinfo, tree, flags);
                                offset += header_length * 8;
                                 /* length may be zero for Video stream */
index 13f0a545ccbff20d2865f55013093865cbe77677..b309e15a7754730a2e1351453ddb208c2bdad9ee 100644 (file)
@@ -245,8 +245,8 @@ dissect_mstp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                mstp_tvb_pdu_len -= 2;
                if (mstp_frame_type < 128) {
                        vendorid = 0;
-                       next_tvb = tvb_new_subset(tvb, offset,
-                               mstp_tvb_pdu_len, mstp_frame_pdu_len);
+                       next_tvb = tvb_new_subset_length(tvb, offset,
+                               mstp_tvb_pdu_len);
                } else {
                        /* With Vendor ID */
                        vendorid = tvb_get_ntohs(tvb, offset);
index f440474b82e19b649be50e9fa1ce02411efb843a..87b99ba580ec89b53f16dd332d3ae07e26a2b482 100644 (file)
@@ -283,10 +283,10 @@ dissect_mtp2_msu(tvbuff_t *su_tvb, packet_info *pinfo, proto_item *mtp2_item, pr
 
   if (use_extended_sequence_numbers) {
     sif_sio_length = tvb_length(su_tvb) - EXTENDED_HEADER_LENGTH;
-    sif_sio_tvb = tvb_new_subset(su_tvb, EXTENDED_SIO_OFFSET, sif_sio_length, sif_sio_length);
+    sif_sio_tvb = tvb_new_subset_length(su_tvb, EXTENDED_SIO_OFFSET, sif_sio_length);
   } else {
     sif_sio_length = tvb_length(su_tvb) - HEADER_LENGTH;
-    sif_sio_tvb = tvb_new_subset(su_tvb, SIO_OFFSET, sif_sio_length, sif_sio_length);
+    sif_sio_tvb = tvb_new_subset_length(su_tvb, SIO_OFFSET, sif_sio_length);
   }
   call_dissector(mtp3_handle, sif_sio_tvb, pinfo, tree);
 
index b04c93728db8aa49045fb0323a5d9b79eb1469d3..97c5757e9aa34c9af7125b449bd584a6c6151526 100644 (file)
@@ -658,27 +658,24 @@ dissect_mtp3_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 static guint
 heur_mtp3_standard(tvbuff_t *tvb, packet_info *pinfo, guint8 si)
 {
-
-    guint32 len;
     tvbuff_t *payload;
 
-    len = tvb_length(tvb);
     switch (si) {
     case MTP_SI_SCCP:
        {
-           payload = tvb_new_subset(tvb, ITU_HEADER_LENGTH, len-ITU_HEADER_LENGTH, len-ITU_HEADER_LENGTH);
+           payload = tvb_new_subset_remaining(tvb, ITU_HEADER_LENGTH);
            if (looks_like_valid_sccp(PINFO_FD_NUM(pinfo), payload, ITU_STANDARD)) {
                return ITU_STANDARD;
            }
-           payload = tvb_new_subset(tvb, ANSI_HEADER_LENGTH, len-ANSI_HEADER_LENGTH, len-ANSI_HEADER_LENGTH);
+           payload = tvb_new_subset_remaining(tvb, ANSI_HEADER_LENGTH);
            if (looks_like_valid_sccp(PINFO_FD_NUM(pinfo), payload, ANSI_STANDARD)) {
                return ANSI_STANDARD;
            }
-           payload = tvb_new_subset(tvb, ANSI_HEADER_LENGTH, len-ANSI_HEADER_LENGTH, len-ANSI_HEADER_LENGTH);
+           payload = tvb_new_subset_remaining(tvb, ANSI_HEADER_LENGTH);
            if (looks_like_valid_sccp(PINFO_FD_NUM(pinfo), payload, CHINESE_ITU_STANDARD)) {
                return CHINESE_ITU_STANDARD;
            }
-           payload = tvb_new_subset(tvb, JAPAN_HEADER_LENGTH, len-JAPAN_HEADER_LENGTH, len-JAPAN_HEADER_LENGTH);
+           payload = tvb_new_subset_remaining(tvb, JAPAN_HEADER_LENGTH);
            if (looks_like_valid_sccp(PINFO_FD_NUM(pinfo), payload, JAPAN_STANDARD)) {
                return JAPAN_STANDARD;
            }
index 35a279d464d14657a53536bc23111914ef128114..c1dae370a07db538ab13d72d2c6ae61b517e3db2 100644 (file)
@@ -698,8 +698,7 @@ process_body_part(proto_tree *tree, tvbuff_t *tvb, const guint8 *boundary,
             &boundary_line_len, last_boundary);
     if (boundary_start > 0) {
         gint body_len = boundary_start - body_start;
-        tvbuff_t *tmp_tvb = tvb_new_subset(tvb, body_start,
-                body_len, body_len);
+        tvbuff_t *tmp_tvb = tvb_new_subset_length(tvb, body_start, body_len);
 
         if (content_type_str) {
 
index 55c9ebee40abbf878d1cf51fb33909f06e25abce..8ad5e7fbf41830e1aa673938a14b7be159006c54 100644 (file)
@@ -427,7 +427,7 @@ de_eps_cmn_add_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     item     = proto_tree_add_item(tree, hf_nas_eps_cmn_add_info, tvb, offset, len, ENC_NA);
     sub_tree = proto_item_add_subtree(item, ett_nas_eps_cmn_add_info);
 
-    new_tvb = tvb_new_subset(tvb, offset, len, len);
+    new_tvb = tvb_new_subset_length(tvb, offset, len);
 
     switch (eps_nas_gen_msg_cont_type) {
         case 1:
@@ -1081,13 +1081,13 @@ de_emm_eps_mid(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     switch (octet&0x7) {
         case 1:
             /* IMSI */
-            new_tvb = tvb_new_subset(tvb, curr_offset, len, len );
+            new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
             digit_str = unpack_eps_mid_digits(new_tvb);
             proto_tree_add_string(tree, hf_nas_eps_emm_imsi, new_tvb, 0, -1, digit_str);
             break;
         case 3:
             /* IMEI */
-            new_tvb = tvb_new_subset(tvb, curr_offset, len, len );
+            new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
             digit_str = unpack_eps_mid_digits(new_tvb);
             proto_tree_add_string(tree, hf_nas_eps_emm_imei, new_tvb, 0, -1, digit_str);
             break;
@@ -1219,7 +1219,7 @@ de_emm_esm_msg_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     sub_tree = proto_item_add_subtree(item, ett_nas_eps_esm_msg_cont);
 
     /* This IE can contain any ESM PDU as defined in subclause 8.3. */
-    new_tvb = tvb_new_subset(tvb, curr_offset, len, len );
+    new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     /* Plain NAS message */
     disect_nas_eps_esm_msg(new_tvb, pinfo, sub_tree, 0/* offset */);
 
@@ -1409,7 +1409,7 @@ de_emm_nas_msg_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     item = proto_tree_add_item(tree, hf_nas_eps_nas_msg_cont, tvb, curr_offset, len, ENC_NA);
     sub_tree = proto_item_add_subtree(item, ett_nas_eps_nas_msg_cont);
 
-    new_tvb = tvb_new_subset(tvb, curr_offset, len, len );
+    new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     if (gsm_a_dtap_handle)
         call_dissector(gsm_a_dtap_handle, new_tvb, pinfo, sub_tree);
 
@@ -2071,7 +2071,7 @@ de_emm_lcs_client_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
      * The coding of the value part of the LCS client identity is given
      * in subclause 17.7.13 of 3GPP TS 29.002 [15B](GSM MAP).
      */
-    new_tvb = tvb_new_subset(tvb, curr_offset, len, len );
+    new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     dissect_gsm_map_lcs_LCS_ClientID_PDU( new_tvb, pinfo, tree, NULL );
 
     return(len);
@@ -2119,7 +2119,7 @@ de_emm_gen_msg_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     item = proto_tree_add_item(tree, hf_nas_eps_gen_msg_cont, tvb, offset, len, ENC_NA);
     sub_tree = proto_item_add_subtree(item, ett_nas_eps_gen_msg_cont);
 
-    new_tvb = tvb_new_subset(tvb, offset, len, len);
+    new_tvb = tvb_new_subset_length(tvb, offset, len);
 
     switch (eps_nas_gen_msg_cont_type) {
         case 1:
index 4dc3f4e6d024dc4ae11f747033070797f1ad6e49..4e0ba4de1208b332c364dc04146980f0e509a0c6 100644 (file)
@@ -108,7 +108,7 @@ dissect_nasdaq_soup_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent
     case 'U': /* unsequenced data packed */
     case 'S': /* sequenced data packed */
         if (linelen > 1 && nasdaq_itch_handle) {
-            new_tvb = tvb_new_subset(tvb, offset,linelen -1,linelen -1);
+            new_tvb = tvb_new_subset_length(tvb, offset,linelen -1);
         } else {
             proto_tree_add_item(tree, hf_nasdaq_soup_message, tvb, offset, linelen -1, ENC_ASCII|ENC_NA);
         }
index 62e4ac4a779843f13cb93724904c6e983778fc02..3d786a195e8b5ab15d3475cccdc8accd14640d09 100644 (file)
@@ -235,7 +235,7 @@ dissect_nflog(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         }
 
         if (tlv_type == WS_NFULA_PAYLOAD)
-            next_tvb = tvb_new_subset(tvb, offset + 4, value_len, value_len);
+            next_tvb = tvb_new_subset_length(tvb, offset + 4, value_len);
 
         offset += ((tlv_len + 3) & ~3); /* next TLV aligned to 4B */
     }
index 0a0fb0f99aae9c737e129be0a5458488f3447db9..6a937e3f347bff102f2fffdf0f2f8523d99eb80a 100644 (file)
@@ -105,7 +105,7 @@ static void dissect_nwmtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                                            tvb, offset + 8, 4, ENC_BIG_ENDIAN);
                }
 
-               next_tvb = tvb_new_subset(tvb, offset + 12, len, len);
+               next_tvb = tvb_new_subset_length(tvb, offset + 12, len);
                if (tvb_length(next_tvb) > 0)
                        call_dissector(mtp_handle, next_tvb, pinfo, tree);
                /* Check for overflows, which probably can't happen, but better
index 5836af91695bbfc60727cd577bc24d8af7c9d228..56b7f49f79d9077326c8a3162777c7f1c6aa2567 100644 (file)
@@ -606,7 +606,7 @@ dissect_openflow_pkt_in(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
     offset+=1;
 
     /*proto_tree_add_text(tree, tvb, offset, length-offset, "Offset=%u, remaining %u", offset, length-offset);*/
-    next_tvb = tvb_new_subset(tvb, offset, length-offset, length-offset);
+    next_tvb = tvb_new_subset_length(tvb, offset, length-offset);
     call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, tree);
 
 }
@@ -638,7 +638,7 @@ dissect_openflow_pkt_out(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
      */
     if(buffer_id == -1){
         /* proto_tree_add_text(tree, tvb, offset, -1, "Packet data"); */
-        next_tvb = tvb_new_subset(tvb, offset, length-offset, length-offset);
+        next_tvb = tvb_new_subset_length(tvb, offset, length-offset);
         call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, tree);
     }
 }
index 901cc00223e3e6e8d1868a6daf9d8aacdaa11e09..71220c9d7dbb46db8070ab2034eabfab57b680a4 100644 (file)
@@ -1836,7 +1836,7 @@ dissect_openflow_packet_in_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
 
         /* dissect data */
         col_set_writable(pinfo->cinfo, FALSE);
-        next_tvb = tvb_new_subset(tvb, offset, length - offset, length - offset);
+        next_tvb = tvb_new_subset_length(tvb, offset, length - offset);
         call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, data_tree);
 
         /* restore saved state */
@@ -2427,7 +2427,7 @@ dissect_openflow_packet_out_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
 
         /* dissect data */
         col_set_writable(pinfo->cinfo, FALSE);
-        next_tvb = tvb_new_subset(tvb, offset, length - offset, length - offset);
+        next_tvb = tvb_new_subset_length(tvb, offset, length - offset);
         call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, data_tree);
 
         /* restore saved state */
index 46b81ab09e9dad5d8d4e05f24c4e82a81c0620f6..083cbd52d786d73a148ee0935e9145c8c1230d7d 100644 (file)
@@ -2064,7 +2064,7 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
 
         /* dissect data */
         col_set_writable(pinfo->cinfo, FALSE);
-        next_tvb = tvb_new_subset(tvb, offset, length - offset, length - offset);
+        next_tvb = tvb_new_subset_length(tvb, offset, length - offset);
         call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, data_tree);
 
         /* restore saved state */
@@ -2809,7 +2809,7 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
 
         /* dissect data */
         col_set_writable(pinfo->cinfo, FALSE);
-        next_tvb = tvb_new_subset(tvb, offset, length - offset, length - offset);
+        next_tvb = tvb_new_subset_length(tvb, offset, length - offset);
         call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, data_tree);
 
         /* restore saved state */
index 588cbdea9b4b7d92fa6bc1f064e058667bf9cd33..3d76fa8bbced9be2e83a1f2827065564457be374 100644 (file)
@@ -863,7 +863,7 @@ dissect_openwire_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
                 if (parentType == OPENWIRE_ACTIVEMQ_TEXT_MESSAGE)
                 {
                     dissect_openwire_type(tvb, pinfo, object_tree, offset, hf_openwire_none, OPENWIRE_TYPE_BIG_STRING, type, FALSE);
-                    next_tvb = tvb_new_subset(tvb, offset, iArrayLength, iArrayLength);
+                    next_tvb = tvb_new_subset_length(tvb, offset, iArrayLength);
                     add_new_data_source(pinfo, next_tvb, "Body");
                 }
                 else if (parentType == OPENWIRE_ACTIVEMQ_MAP_MESSAGE)
@@ -882,7 +882,7 @@ dissect_openwire_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
                     || parentType == OPENWIRE_ACTIVEMQ_OBJECT_MESSAGE
                     || parentType == OPENWIRE_ACTIVEMQ_BLOB_MESSAGE)
                 {
-                    next_tvb = tvb_new_subset(tvb, offset, iArrayLength, iArrayLength);
+                    next_tvb = tvb_new_subset_length(tvb, offset, iArrayLength);
                     add_new_data_source(pinfo, next_tvb, "Body");
                     expert_add_info(pinfo, array_item, &ei_openwire_body_type_not_supported);
                 }
index 92776d47eb4aaab36b6d4d9b6df6f12ef82b3f40..6343c8df9eda293f6b4f5cc61f60840285312a80 100644 (file)
@@ -528,7 +528,7 @@ dissect_esmc_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *treex)
             {
                 proto_item* item_b;
                 tvbuff_t* tvb_next;
-                tvb_next = tvb_new_subset(tvb, offset, padding_size, -1);
+                tvb_next = tvb_new_subset_remaining(tvb, offset);
                 item_b = proto_tree_add_item(tree_a, hf_esmc_padding, tvb_next, 0, -1, ENC_NA);
                 proto_item_append_text(item_b, ", %d %s%s", padding_size
                 , "octet", plurality(padding_size,"","s"));
index d4eb1161625d19747fbbcb92086d9fcf48e95e88..d589c9a6b5ff9697df4f6f940e34eebda71c4b79 100644 (file)
@@ -84,7 +84,7 @@ static void dissect_packetlogger (tvbuff_t *tvb, packet_info *pinfo, proto_tree
   proto_item_append_text (ti, " %s", val_to_str (pl_type, type_vals, "Unknown 0x%02x"));
 
   len = tvb_length_remaining (tvb, 1);
-  next_tvb = tvb_new_subset (tvb, 1, len, len);
+  next_tvb = tvb_new_subset_remaining (tvb, 1);
 
   if (pl_type <= PKT_RECV_ACL_DATA) {
     /* HCI H1 packages */
index 54b199f6e961ced662e7d4d5dd5dd9b334441bda..a2c4afb1a50c7294e642b618a95edd1408eb69a2 100644 (file)
@@ -471,7 +471,7 @@ dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
                                                                           tvb, offset, avp_data_length,
                                                                           "AVP Value (EAP packet)");
                                        avp_eap_tree = proto_item_add_subtree(avp_eap_item, ett_pana_avp);
-                                       eap_tvb = tvb_new_subset(tvb, offset, avp_data_length, avp_data_length);
+                                       eap_tvb = tvb_new_subset_length(tvb, offset, avp_data_length);
                                        if (eap_handle != NULL) {
                                                call_dissector(eap_handle, eap_tvb, pinfo, avp_eap_tree);
                                        }
@@ -482,7 +482,7 @@ dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
                                                                           tvb, offset, avp_data_length,
                                                                           "AVP Value (PANA packet)");
                                        avp_encap_tree = proto_item_add_subtree(avp_encap_item, ett_pana_avp);
-                                       encap_tvb = tvb_new_subset(tvb, offset, avp_data_length, avp_data_length);
+                                       encap_tvb = tvb_new_subset_length(tvb, offset, avp_data_length);
                                        dissect_pana_pdu(encap_tvb, pinfo, avp_encap_tree);
                                        break;
                                }
@@ -640,7 +640,7 @@ dissect_pana_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                tvbuff_t   *avp_tvb;
                proto_tree *avp_tree;
                proto_item *avp_item;
-               avp_tvb  = tvb_new_subset(tvb, offset, avp_length, avp_length);
+               avp_tvb  = tvb_new_subset_length(tvb, offset, avp_length);
                avp_item = proto_tree_add_text(pana_tree, tvb, offset, avp_length, "Attribute Value Pairs");
                avp_tree = proto_item_add_subtree(avp_item, ett_pana_avp);
 
index 1e20ca3800bf432ec2444d7cc0f6061938e6b49a..3084c14e41fc8110a81be2b9878a8aa9a740c7af 100644 (file)
@@ -240,7 +240,7 @@ static int dissect_admpdu(tvbuff_t *tvb, proto_tree *parent_tree, proto_tree *tr
                offset += 2;
 
                returnLen = userDataLen + 6;
-               asterixTVB = tvb_new_subset(tvb, offset, userDataLen, userDataLen);
+               asterixTVB = tvb_new_subset_length(tvb, offset, userDataLen);
 
                if (asterix_handle != NULL)
                        call_dissector(asterix_handle, asterixTVB, pinfo, parent_tree);
@@ -262,7 +262,7 @@ static int dissect_dtmpdu(tvbuff_t *tvb, proto_tree *parent_tree, proto_tree *tr
                /* length of user data field */
                userDataLen = tvb_get_ntohs(tvb, 2);
                returnLen  = userDataLen + 2;
-               asterixTVB = tvb_new_subset(tvb, offset + 2, userDataLen, userDataLen);
+               asterixTVB = tvb_new_subset_length(tvb, offset + 2, userDataLen);
 
                if (asterix_handle != NULL)
                        call_dissector(asterix_handle, asterixTVB, pinfo, parent_tree);
@@ -284,7 +284,7 @@ static int dissect_edmpdu(tvbuff_t *tvb, proto_tree *parent_tree, proto_tree *tr
                /* length of user data field */
                userDataLen = tvb_get_ntohs(tvb, 2);
                returnLen   = userDataLen + 2;
-               asterixTVB  = tvb_new_subset(tvb, offset + 2, userDataLen, userDataLen);
+               asterixTVB  = tvb_new_subset_length(tvb, offset + 2, userDataLen);
 
                if (asterix_handle != NULL)
                        call_dissector(asterix_handle, asterixTVB, pinfo, parent_tree);
index 6fb991712a4e760664052b35f5b7b2fb77620b9a..2a343dc02c4a8ad50ad5a63af973648a1e21a531 100644 (file)
@@ -2322,7 +2322,7 @@ DEBUG_ENTRY("dissect_per_octet_string");
        }
 
        if (value_tvb)
-               *value_tvb = (out_tvb) ? out_tvb : tvb_new_subset(tvb, val_start, val_length, val_length);
+               *value_tvb = (out_tvb) ? out_tvb : tvb_new_subset_length(tvb, val_start, val_length);
 
        return offset;
 }
index 89b9fc0acdf7bb69b67c95965993b8d2fd949a2d..c2e225f55823be714319d2a69e41183173b36d27 100644 (file)
@@ -3945,7 +3945,7 @@ dissect_cp(tvbuff_t *tvb, int proto_id, int proto_subtree_index,
             pinfo->flags.in_error_pkt = TRUE;
 
             /* Decode the rejected packet. */
-            next_tvb = tvb_new_subset(tvb, offset, length, length);
+            next_tvb = tvb_new_subset_length(tvb, offset, length);
             if (!dissector_try_uint(ppp_subdissector_table, protocol, next_tvb,
                 pinfo, fh_tree)) {
                 call_dissector(data_handle, next_tvb, pinfo, fh_tree);
@@ -4520,7 +4520,7 @@ dissect_pppmux(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         sub_ti = proto_tree_add_text(sub_tree, tvb,offset, length,
             "Information Field");
         info_tree = proto_item_add_subtree(sub_ti, ett_pppmux_subframe_info);
-        next_tvb = tvb_new_subset(tvb, offset, length, length);
+        next_tvb = tvb_new_subset_length(tvb, offset, length);
 
         if (!dissector_try_uint(ppp_subdissector_table, pid, next_tvb, pinfo,
             info_tree)) {
index 3c20a1c4e91d02477ea983fddc497f0a0dc63ade..7b862c3e91178642475825dc0e0c527f6333f58b 100644 (file)
@@ -649,7 +649,7 @@ dissect_11_or_aal5_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
 
        {
                tvbuff_t* tvb_2;
-               tvb_2 = tvb_new_subset(tvb, 0, PWC_SIZEOF_CW, PWC_SIZEOF_CW);
+               tvb_2 = tvb_new_subset_length(tvb, 0, PWC_SIZEOF_CW);
                call_dissector_with_data(dh_control_word, tvb_2, pinfo, tree, &pd);
 
                tvb_2 = tvb_new_subset_remaining(tvb, (PWC_SIZEOF_CW-1));
@@ -857,7 +857,7 @@ dissect_aal5_sdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
 
        {
                tvbuff_t* tvb_2;
-               tvb_2 = tvb_new_subset(tvb, 0, PWC_SIZEOF_CW, PWC_SIZEOF_CW);
+               tvb_2 = tvb_new_subset_length(tvb, 0, PWC_SIZEOF_CW);
                call_dissector_with_data(dh_control_word, tvb_2, pinfo, tree, &pd);
 
                tvb_2 = tvb_new_subset_remaining(tvb, PWC_SIZEOF_CW);
@@ -873,7 +873,7 @@ dissect_aal5_sdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
                                union wtap_pseudo_header* pseudo_header_save;
                                union wtap_pseudo_header ph;
 
-                               tvb_3 = tvb_new_subset(tvb_2, 0, payload_size, payload_size);
+                               tvb_3 = tvb_new_subset_length(tvb_2, 0, payload_size);
                                /* prepare pseudo header for atm aal5 decoding */
                                pseudo_header_save = pinfo->pseudo_header;
                                pinfo->pseudo_header = &ph;
@@ -1039,7 +1039,7 @@ dissect_n1_cw(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
 
        {
                tvbuff_t* tvb_2;
-               tvb_2 = tvb_new_subset(tvb, 0, PWC_SIZEOF_CW, PWC_SIZEOF_CW);
+               tvb_2 = tvb_new_subset_length(tvb, 0, PWC_SIZEOF_CW);
                call_dissector_with_data(dh_control_word, tvb_2, pinfo, tree, &pd);
 
                tvb_2 = tvb_new_subset_remaining(tvb, PWC_SIZEOF_CW);
index f07a85b10872a1b541b16a8d920623b290a9613d..17bd89878b697a5eb93551cd2cc1e2a990be753f 100644 (file)
@@ -263,7 +263,7 @@ void dissect_pw_cesopsn( tvbuff_t * tvb_original
                        {
                                tvbuff_t* tvb;
                                proto_item* item2;
-                               tvb = tvb_new_subset(tvb_original, 0, PWC_SIZEOF_CW, PWC_SIZEOF_CW);
+                               tvb = tvb_new_subset_length(tvb_original, 0, PWC_SIZEOF_CW);
                                item2 = proto_tree_add_item(tree2, hf_cw, tvb, 0, -1, ENC_NA);
                                pwc_item_append_cw(item2,tvb_get_ntohl(tvb, 0),FALSE);
                                {
@@ -339,7 +339,7 @@ void dissect_pw_cesopsn( tvbuff_t * tvb_original
                        {
                                proto_item* item2;
                                tvbuff_t* tvb;
-                               tvb = tvb_new_subset(tvb_original, PWC_SIZEOF_CW, payload_size, payload_size);
+                               tvb = tvb_new_subset_length(tvb_original, PWC_SIZEOF_CW, payload_size);
                                item2 = proto_tree_add_item(tree2, hf_payload, tvb, 0, -1, ENC_NA);
                                pwc_item_append_text_n_items(item2,(int)payload_size,"octet");
                                if (properties & PWC_PAY_SIZE_BAD)
index d9e77d3dfa1bd06c662d8ad29306d64bb23011a5..4d96a134ef16abe187615004448a2cced979e4d7 100644 (file)
@@ -240,7 +240,7 @@ dissect_pw_fr( tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree )
        if (payload_size > 0)
        {
                tvbuff_t *tvb_payload;
-               tvb_payload = tvb_new_subset(tvb, encaps_size, payload_size, payload_size);
+               tvb_payload = tvb_new_subset_length(tvb, encaps_size, payload_size);
                call_dissector( fr_stripped_address_handle, tvb_payload, pinfo, tree );
        }
        return;
index a557d346148e3893c23fc0b680f11d1ec5afa97b..5b06993a9b0d3b9cf32c915e66eeab0dc8822ae5 100644 (file)
@@ -260,7 +260,7 @@ void dissect_pw_satop(tvbuff_t * tvb_original
                        {
                                tvbuff_t* tvb;
                                proto_item* item2;
-                               tvb = tvb_new_subset(tvb_original, 0, PWC_SIZEOF_CW, PWC_SIZEOF_CW);
+                               tvb = tvb_new_subset_length(tvb_original, 0, PWC_SIZEOF_CW);
                                item2 = proto_tree_add_item(tree2, hf_cw, tvb, 0, -1, ENC_NA);
                                pwc_item_append_cw(item2, tvb_get_ntohl(tvb, 0),FALSE);
                                {
@@ -333,7 +333,7 @@ void dissect_pw_satop(tvbuff_t * tvb_original
                        {
                                proto_item* item2;
                                tvbuff_t* tvb;
-                               tvb = tvb_new_subset(tvb_original, PWC_SIZEOF_CW, payload_size, payload_size);
+                               tvb = tvb_new_subset_length(tvb_original, PWC_SIZEOF_CW, payload_size);
                                item2 = proto_tree_add_item(tree2, hf_payload, tvb, 0, -1, ENC_NA);
                                pwc_item_append_text_n_items(item2,(int)payload_size,"octet");
                                {
index f32b9511a3a592345cb259d530ea8ea5a2a38fe1..493dbde58e51273bb8ceaef6016a9033a0846782 100644 (file)
@@ -2409,7 +2409,7 @@ dissect_q931_user_user_ie(tvbuff_t *tvb, packet_info *pinfo, int offset, int len
        switch (octet) {
 
        case Q931_PROTOCOL_DISCRIMINATOR_USER:
-               next_tvb = tvb_new_subset(tvb, offset, len, len);
+               next_tvb = tvb_new_subset_length(tvb, offset, len);
                proto_tree_add_uint_format_value(tree, hf_q931_user_information_len, tvb, offset, len, len, "%d octets", len);
                if (!dissector_try_heuristic(q931_user_heur_subdissector_list, next_tvb, pinfo, tree, &hdtbl_entry, NULL)) {
                call_dissector_only(data_handle, next_tvb, pinfo, tree, NULL);
@@ -2664,7 +2664,7 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root_tree,
                         */
                        if (dissector_get_uint_handle(codeset_dissector_table, codeset) ||
                            dissector_get_uint_handle(ie_dissector_table, (codeset << 8) | (info_element & Q931_IE_SO_IDENTIFIER_MASK))) {
-                               next_tvb = tvb_new_subset (tvb, offset, 1, 1);
+                               next_tvb = tvb_new_subset_length (tvb, offset, 1);
                                if (dissector_try_uint(ie_dissector_table, (codeset << 8) | (info_element & Q931_IE_SO_IDENTIFIER_MASK), next_tvb, pinfo, q931_tree) ||
                                    dissector_try_uint(codeset_dissector_table, codeset, next_tvb, pinfo, q931_tree)) {
                                        offset += 1;
@@ -2767,9 +2767,8 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root_tree,
                                         * whether we're building a
                                         * protocol tree or not.
                                         */
-                                       h225_tvb = tvb_new_subset(tvb,
-                                           offset + 4, info_element_len - 1,
-                                           info_element_len - 1);
+                                       h225_tvb = tvb_new_subset_length(tvb,
+                                           offset + 4, info_element_len - 1);
                                        call_dissector(h225_handle, h225_tvb,
                                            pinfo, root_tree);
                                } else {
@@ -2796,7 +2795,7 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root_tree,
                         */
                        if (dissector_get_uint_handle(codeset_dissector_table, codeset) ||
                            dissector_get_uint_handle(ie_dissector_table, (codeset << 8) | info_element)) {
-                               next_tvb = tvb_new_subset (tvb, offset, info_element_len + 2, info_element_len + 2);
+                               next_tvb = tvb_new_subset_length (tvb, offset, info_element_len + 2);
                                if (dissector_try_uint(ie_dissector_table, (codeset << 8) | info_element, next_tvb, pinfo, q931_tree) ||
                                    dissector_try_uint(codeset_dissector_table, codeset, next_tvb, pinfo, q931_tree)) {
                                        offset += 2 + info_element_len;
index 8e7d06b5b82fcaca877416d1ff11a1b80f145666..59a37a30eb6c99bb30e984bcb7476d7e0c37b9f3 100644 (file)
@@ -251,7 +251,7 @@ dissect_q932_ros_InvokeArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  arg_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  arg_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 
@@ -329,7 +329,7 @@ dissect_q932_ros_ResultArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  res_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  res_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 
@@ -425,7 +425,7 @@ dissect_q932_ros_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
   len = tvb_length_remaining(tvb, offset);
   if (len)
     proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
-  err_next_tvb = tvb_new_subset(tvb, offset, len, len);
+  err_next_tvb = tvb_new_subset_remaining(tvb, offset);
 
   offset += tvb_length_remaining(tvb, offset);
 
index eab682fc2d1fba69a1f1d49ab60984b3732eef96..5b04993d826f8676cfcdea89f5be3605417dc8ef 100644 (file)
@@ -665,7 +665,7 @@ dissect_q932_facility_ie(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tr
     offset = get_ber_identifier(tvb, offset, &appclass, &pc, &tag);
     offset = get_ber_length(tvb, offset, &len, NULL);
     eoffset = offset + len;
-    next_tvb =  tvb_new_subset(tvb, hoffset, eoffset - hoffset, eoffset - hoffset);
+    next_tvb =  tvb_new_subset_length(tvb, hoffset, eoffset - hoffset);
     switch (appclass) {
       case BER_CLASS_CON:
         switch (tag) {
index a89a93da4584d2084b1944b1827c6c98c3f1e41c..f704318b2be33754cc371875bd3b3c4e6e6f5a6c 100644 (file)
@@ -359,7 +359,6 @@ dissect_quake_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        guint8          command;
        int             direction;
        proto_tree      *control_tree = NULL;
-       guint           rest_length;
        tvbuff_t        *next_tvb;
 
        command = tvb_get_guint8(tvb, 0);
@@ -380,8 +379,7 @@ dissect_quake_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                                        tvb, 0, 1, command);
        }
 
-       rest_length = tvb_reported_length(tvb) - 1;
-       next_tvb = tvb_new_subset(tvb, 1, rest_length , rest_length);
+       next_tvb = tvb_new_subset_remaining(tvb, 1);
        switch (command) {
                case CCREQ_CONNECT:
                        dissect_quake_CCREQ_CONNECT
@@ -432,7 +430,6 @@ dissect_quake(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        proto_tree      *quake_tree = NULL;
        guint16         flags;
        guint32         sequence = 0;
-       guint           rest_length;
        tvbuff_t        *next_tvb;
 
        col_set_str(pinfo->cinfo, COL_PROTOCOL, "QUAKE");
@@ -466,8 +463,7 @@ dissect_quake(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        }
 
        if (flags == NETFLAG_CTL) {
-               rest_length = tvb_reported_length(tvb) - 4;
-               next_tvb = tvb_new_subset(tvb, 4, rest_length , rest_length);
+               next_tvb = tvb_new_subset_remaining(tvb, 4);
                dissect_quake_control(next_tvb, pinfo, quake_tree);
                return;
        }
@@ -477,8 +473,7 @@ dissect_quake(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        proto_tree_add_uint(quake_tree, hf_quake_header_sequence,
                        tvb, 4, 4, sequence);
 
-       rest_length = tvb_reported_length(tvb) - 8;
-       next_tvb = tvb_new_subset(tvb, 8, rest_length , rest_length);
+       next_tvb = tvb_new_subset_remaining(tvb, 8);
        call_dissector(data_handle,next_tvb, pinfo, quake_tree);
 }
 
index 1ca88c545dce8c1ddc52593c75c343cb1929d2bd..b9a99022c8ad0c6eeaf3c83ad1fdac4d458f92fb 100644 (file)
@@ -398,8 +398,7 @@ dissect_quake2_client_commands(tvbuff_t *tvb, packet_info *pinfo,
         offset++;
         rest_length = tvb_reported_length(tvb) - offset;
         if (rest_length)
-            next_tvb = tvb_new_subset(tvb, offset,
-                    rest_length, rest_length);
+            next_tvb = tvb_new_subset_remaining(tvb, offset);
         else
             return;
 
@@ -499,7 +498,7 @@ dissect_quake2_server_commands(tvbuff_t *tvb, packet_info *pinfo,
     offset++;
     rest_length = tvb_reported_length(tvb) - offset;
     if (rest_length)
-        next_tvb = tvb_new_subset(tvb, offset, rest_length, rest_length);
+        next_tvb = tvb_new_subset_remaining(tvb, offset);
     else
         return;
 
@@ -636,7 +635,7 @@ dissect_quake2_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
     rest_length = tvb_reported_length(tvb) - offset;
     if (rest_length) {
         tvbuff_t *next_tvb =
-            tvb_new_subset(tvb, offset, rest_length , rest_length);
+            tvb_new_subset_remaining(tvb, offset);
 
         if (direction == DIR_C2S) {
             proto_tree *c_tree = NULL;
index 3b8bfc328f96d3ae689724b03356a9f7d9375c23..90459ec3f51cc5b82ea9c9772c14ddf66a0d06bd 100644 (file)
@@ -430,8 +430,7 @@ dissect_quake3_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
        /* all the rest is pure game data */
        rest_length = tvb_reported_length(tvb) - offset;
        if (rest_length) {
-               tvbuff_t *next_tvb =
-               tvb_new_subset(tvb, offset, rest_length , rest_length);
+               tvbuff_t *next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (*direction == DIR_C2S) {
                        proto_tree *c_tree = NULL;
index 4ceb8a4fad04af603b9ce3c6ac22024d80365ebf..774a56c4368acd765fac05571d09e5043d1b39a0 100644 (file)
@@ -638,8 +638,7 @@ dissect_quakeworld_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
        /* all the rest is pure game data */
        rest_length = tvb_reported_length(tvb) - offset;
        if (rest_length) {
-               tvbuff_t *next_tvb =
-               tvb_new_subset(tvb, offset, rest_length , rest_length);
+               tvbuff_t *next_tvb = tvb_new_subset_remaining(tvb, offset);
 
                if (direction == DIR_C2S) {
                        proto_tree *c_tree = NULL;
index 7cc440eb11d44b2325fcb29d8547d4bbe097bcea..0653b9b6a25cf872c46ea0cabe784b2c915d9f11 100644 (file)
@@ -954,7 +954,7 @@ static void add_avp_to_tree(proto_tree* avp_tree, proto_item* avp_item, packet_i
                tvbuff_t* tvb_value;
                const gchar* str;
 
-               tvb_value = tvb_new_subset(tvb, offset, avp_length, (gint) avp_length);
+               tvb_value = tvb_new_subset_length(tvb, offset, avp_length);
 
                str = dictionary_entry->dissector(avp_tree,tvb_value,pinfo);
 
index 7ac704b01447591aefe1879e231769e8517f0b92..fe81c5b1304d41ac160b75b617786dc4123613c7 100644 (file)
@@ -135,7 +135,7 @@ dissect_pn532_hci(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
         }
         offset += 1;
 
-        next_tvb = tvb_new_subset(tvb, offset, length, length);
+        next_tvb = tvb_new_subset_length(tvb, offset, length);
         call_dissector_with_data(pn532_handle, next_tvb, pinfo, tree, usb_conv_info);
         offset += length;
 
@@ -162,7 +162,7 @@ dissect_pn532_hci(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
             proto_tree_add_expert(main_tree, pinfo, &ei_invalid_length_checksum, tvb, offset, 1);
         offset += 1;
 
-        next_tvb = tvb_new_subset(tvb, offset, length, length);
+        next_tvb = tvb_new_subset_length(tvb, offset, length);
         call_dissector_with_data(pn532_handle, next_tvb, pinfo, tree, usb_conv_info);
         offset += length;
 
index 7b0bfd646f9bcb539794b9b519d221fb6b0d59bf..6dc81c8e43d14fc2c71babd6a295b31a6bb81fbb 100644 (file)
@@ -1242,7 +1242,7 @@ dissect_pn532(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             break;
         case FELICA_212:
         case FELICA_424:
-            next_tvb = tvb_new_subset(tvb, offset, 5, 5);
+            next_tvb = tvb_new_subset_length(tvb, offset, 5);
             call_dissector(sub_handles[SUB_FELICA], next_tvb, pinfo, tree);
             offset += 5;
             break;
index ceef971d1b6c7bb65611c1bf2c63474ed70a109b..7e703155b29632ec839cca72b53d15ab6fa6d569 100644 (file)
@@ -782,7 +782,7 @@ static void show_PDU_in_tree(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
 
             /* Get tvb for passing to LTE PDCP dissector */
             if (reassembly_info == NULL) {
-                pdcp_tvb = tvb_new_subset(tvb, offset, length, length);
+                pdcp_tvb = tvb_new_subset_length(tvb, offset, length);
             }
             else {
                 /* Get combined tvb. */
@@ -849,7 +849,7 @@ static void show_PDU_in_tree(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
 
             /* Get tvb for passing to LTE RRC dissector */
             if (reassembly_info == NULL) {
-                rrc_tvb = tvb_new_subset(tvb, offset, length, length);
+                rrc_tvb = tvb_new_subset_length(tvb, offset, length);
             }
             else {
                 /* Get combined tvb. */
@@ -875,7 +875,7 @@ static void show_PDU_in_tree(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
 
             /* Get tvb for passing to IP dissector */
             if (reassembly_info == NULL) {
-                ip_tvb = tvb_new_subset(tvb, offset, length, length);
+                ip_tvb = tvb_new_subset_length(tvb, offset, length);
             }
             else {
                 /* Get combined tvb. */
index 20e7922d1b9c981d051472d1e98c05004aa0ff25..c58ce9de5ca3875f453c4e9e773e90d53160afc4 100644 (file)
@@ -989,7 +989,7 @@ dissect_rpcap (tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree, void* da
     if (len) {
       /* Yet unknown, dump as data */
       proto_item_set_len (ti, 8);
-      new_tvb = tvb_new_subset (tvb, offset, len, len);
+      new_tvb = tvb_new_subset_remaining (tvb, offset);
       call_dissector (data_handle, new_tvb, pinfo, top_tree);
     }
     break;
index 5f5508b8cb4d0d8b23d237fc28f71f73acd7dcd4..6de3e488869cbc0e95f6726ffd82ac3c9fbc0e1f 100644 (file)
@@ -1306,14 +1306,14 @@ dissect_rsl_ie_L3_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
     {
        /* L3 PDUs carried on CCCH have L2 PSEUDO LENGTH octet or are RR Short PD format */
        proto_tree_add_text(ie_tree, tvb,offset,length,"Link Layer Service Data Unit (L3 Message)(CCCH)");
-       next_tvb = tvb_new_subset(tvb, offset, length, length);
+       next_tvb = tvb_new_subset_length(tvb, offset, length);
        call_dissector(gsm_a_ccch_handle, next_tvb, pinfo, top_tree);
     }
     else if (type == L3_INF_SACCH)
     {
        /* L3 PDUs carried on SACCH are normal format or are RR Short PD format */
        proto_tree_add_text(ie_tree, tvb,offset,length,"Link Layer Service Data Unit (L3 Message)(SACCH)");
-       next_tvb = tvb_new_subset(tvb, offset, length, length);
+       next_tvb = tvb_new_subset_length(tvb, offset, length);
        call_dissector(gsm_a_sacch_handle, next_tvb, pinfo, top_tree);
     }
     else
@@ -1322,7 +1322,7 @@ dissect_rsl_ie_L3_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
         * as defined in 3GPP TS 24.008 or 3GPP TS 44.018)
         */
        proto_tree_add_text(ie_tree, tvb,offset,length,"Link Layer Service Data Unit (L3 Message)");
-       next_tvb = tvb_new_subset(tvb, offset, length, length);
+       next_tvb = tvb_new_subset_length(tvb, offset, length);
        call_dissector(gsm_a_dtap_handle, next_tvb, pinfo, top_tree);
     }
 
@@ -2118,7 +2118,7 @@ dissect_rsl_ie_full_imm_ass_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
      * as defined in 3GPP TS 44.018.
      */
     proto_tree_add_text(ie_tree, tvb,offset,length,"Full Immediate Assign Info field");
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     call_dissector(gsm_a_ccch_handle, next_tvb, pinfo, top_tree);
 
     offset = offset + length;
@@ -2163,7 +2163,7 @@ dissect_rsl_ie_smscb_inf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
     /*
      * SMSCB frame
      */
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     call_dissector(gsm_cbch_handle, next_tvb, pinfo, top_tree);
 
     offset = offset + length;
@@ -2279,7 +2279,7 @@ dissect_rsl_ie_full_bcch_inf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
      */
 
     proto_tree_add_text(ie_tree, tvb,offset,length,"Layer 3 message");
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     call_dissector(gsm_a_ccch_handle, next_tvb, pinfo, top_tree);
 
     offset = offset + length;
@@ -2391,7 +2391,7 @@ dissect_rsl_ie_smscb_mess(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
      * SMSCB Message
      */
 
-    next_tvb = tvb_new_subset(tvb, offset, length, length);
+    next_tvb = tvb_new_subset_length(tvb, offset, length);
     call_dissector(gsm_cbs_handle, next_tvb, pinfo, top_tree);
 
     offset = ie_offset + length;
index d67d944a82671155051c2753eccc26d9c2135616..f4cd8a297b84e78862d21906d868179d5c18ffdf 100644 (file)
@@ -7052,7 +7052,7 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 gint      sub_len;
                 tvbuff_t *tvb_sub;
                 sub_len = tvb_get_ntohs(tvb, len2+6);
-                tvb_sub = tvb_new_subset(tvb, len2, sub_len, sub_len);
+                tvb_sub = tvb_new_subset_length(tvb, len2, sub_len);
                 dissect_rsvp_msg_tree(tvb_sub, pinfo, rsvp_tree, TREE(TT_BUNDLE_COMPMSG), rsvph, e2ei);
                 len2 += sub_len;
             }
index 3397e1f14fd475a07f8900f6aae46253c519dbb3..0f1f420c7b18b3f3a14c53e3f88b69dfd38191e6 100644 (file)
@@ -946,7 +946,7 @@ dissect_rtcp_rtpfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, proto_item
      */
     if (packet_length > 12 &&
         dissector_get_uint_handle (rtcp_rtpfb_dissector_table, rtcp_rtpfb_fmt)) {
-      tvbuff_t *subtvb = tvb_new_subset(tvb, offset, packet_length - 12, packet_length - 12);
+      tvbuff_t *subtvb = tvb_new_subset_length(tvb, offset, packet_length - 12);
 
       if (dissector_try_uint (rtcp_rtpfb_dissector_table, rtcp_rtpfb_fmt,
               subtvb, pinfo, rtcp_tree))
@@ -1634,7 +1634,7 @@ dissect_rtcp_app( tvbuff_t *tvb,packet_info *pinfo, int offset, proto_tree *tree
         /* tvb         == Pass the entire APP payload so the subdissector can have access to the
          * entire data set
          */
-        next_tvb        = tvb_new_subset(tvb, offset-8, app_length+4, app_length+4);
+        next_tvb        = tvb_new_subset_length(tvb, offset-8, app_length+4);
         /* look for registered sub-dissectors */
         if (dissector_try_string(rtcp_dissector_table, ascii_name, next_tvb, pinfo, tree, NULL)) {
             /* found subdissector - return tvb_length */
index 24fd20bd3e776fc3a9fc8f29cd4616478a8584a3..0bde57ae424aa02b07f3dece3ecb0060ea10c04e 100644 (file)
@@ -1921,7 +1921,7 @@ dissect_rtmpt_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, rtmpt_
                                 pktbuf = tvb_new_child_real_data(tvb, tp->data.p, tp->have, tp->have);
                                 add_new_data_source(pinfo, pktbuf, "Unchunked RTMP");
                         } else {
-                                pktbuf = tvb_new_subset(tvb, tp->data.offset, tp->have, tp->have);
+                                pktbuf = tvb_new_subset_length(tvb, tp->data.offset, tp->have);
                         }
                         dissect_rtmpt(pktbuf, pinfo, tree, rconv, cdir, tp);
                 }
@@ -2171,7 +2171,7 @@ dissect_rtmpt_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, rtmpt_
 
                                 wmem_tree_insert32(rconv->packets[cdir], tp->lastseq, tp);
 
-                                pktbuf = tvb_new_subset(tvb, tp->data.offset, tp->have, tp->have);
+                                pktbuf = tvb_new_subset_length(tvb, tp->data.offset, tp->have);
                                 dissect_rtmpt(pktbuf, pinfo, tree, rconv, cdir, tp);
 
                                 offset += tp->want;
@@ -2435,7 +2435,7 @@ dissect_rtmpt_http(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 return;
 
         if (offset > 0) {
-                tvbuff_t *tvbrtmp = tvb_new_subset(tvb, offset, remain, remain);
+                tvbuff_t *tvbrtmp = tvb_new_subset_length(tvb, offset, remain);
                 dissect_rtmpt_common(tvbrtmp, pinfo, tree, rconv, cdir, seq, lastackseq);
         } else {
                 dissect_rtmpt_common(tvb, pinfo, tree, rconv, cdir, seq, lastackseq);
index 6ca1e8d42839519b62dcd34fec9df73754609cf9..756cf917070914cce97c24cff8db3ec7723570b3 100644 (file)
@@ -1463,7 +1463,7 @@ process_rtp_payload(tvbuff_t *newtvb, packet_info *pinfo, proto_tree *tree,
         found_match = TRUE;
 
         if (p_conv_data->bta2dp_info->content_protection_type == BTAVDTP_CONTENT_PROTECTION_TYPE_SCMS_T) {
-            nexttvb = tvb_new_subset(newtvb, 0, 1, 1);
+            nexttvb = tvb_new_subset_length(newtvb, 0, 1);
              call_dissector(bta2dp_content_protection_header_scms_t, nexttvb, pinfo, tree);
             suboffset = 1;
         }
@@ -1480,7 +1480,7 @@ process_rtp_payload(tvbuff_t *newtvb, packet_info *pinfo, proto_tree *tree,
         found_match = TRUE;
 
         if (p_conv_data->btvdp_info->content_protection_type == BTAVDTP_CONTENT_PROTECTION_TYPE_SCMS_T) {
-            nexttvb = tvb_new_subset(newtvb, 0, 1, 1);
+            nexttvb = tvb_new_subset_length(newtvb, 0, 1);
             call_dissector(btvdp_content_protection_header_scms_t, nexttvb, pinfo, tree);
             suboffset = 1;
         }
@@ -1841,7 +1841,7 @@ dissect_rtp_hext_rfc5215_onebyte( tvbuff_t *tvb, packet_info *pinfo,
         }
         ext_offset ++;
 
-        subtvb = tvb_new_subset(tvb, ext_offset, ext_length, ext_length);
+        subtvb = tvb_new_subset_length(tvb, ext_offset, ext_length);
         if (!dissector_try_uint (rtp_hdr_ext_rfc5285_dissector_table, ext_id, subtvb, pinfo, rtp_hext_rfc5285_tree)) {
             if (rtp_hext_tree)
                 proto_tree_add_item(rtp_hext_rfc5285_tree, hf_rtp_ext_rfc5285_data, subtvb, 0, ext_length, ENC_NA );
@@ -1890,7 +1890,7 @@ dissect_rtp_hext_rfc5215_twobytes(tvbuff_t *parent_tvb, guint id_offset,
 
         ext_offset += 2;
 
-        subtvb = tvb_new_subset(tvb, ext_offset, ext_length, ext_length);
+        subtvb = tvb_new_subset_length(tvb, ext_offset, ext_length);
         if (ext_length && !dissector_try_uint (rtp_hdr_ext_rfc5285_dissector_table, ext_id, subtvb, pinfo, rtp_hext_rfc5285_tree)) {
             proto_tree_add_item(rtp_hext_rfc5285_tree, hf_rtp_ext_rfc5285_data, subtvb, 0, ext_length, ENC_NA );
         }
@@ -2211,7 +2211,7 @@ dissect_rtp( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
             }
 
             /* pass interpretation of header extension to a registered subdissector */
-            newtvb = tvb_new_subset(tvb, offset, hdr_extension_len * 4, hdr_extension_len * 4);
+            newtvb = tvb_new_subset_length(tvb, offset, hdr_extension_len * 4);
 
             if (hdr_extension_id == RTP_RFC5215_ONE_BYTE_SIG) {
                 dissect_rtp_hext_rfc5215_onebyte (newtvb, pinfo, rtp_hext_tree);
index 8717ae59e3657cf772ac0cbfa52597bae720f224..549a6d07b15149116e3bad1dcbefbfb6df3cf947 100644 (file)
@@ -130,7 +130,7 @@ dissect_rudp(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
                /* If we have even more bytes their meaning is unknown - we have seen this
                 * in live captures */
                if (hlen > 6) {
-                       next_tvb = tvb_new_subset(tvb, 6, hlen-6, hlen-6);
+                       next_tvb = tvb_new_subset_length(tvb, 6, hlen-6);
                        call_dissector(data_handle, next_tvb, pinfo, rudp_tree);
                }
        }
index c2c5f10abfa976b0abdd3f02c1efb4588c1defe5..1f714c6ba29af3dff36cf128053abd3b9425fedf 100644 (file)
@@ -1787,7 +1787,7 @@ dissect_sabp_cb_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     /* octet 2 - 83 CBS-Message-Information-Page 1  */
     cbs_page_item = proto_tree_add_item(subtree, hf_sabp_cb_msg_inf_page, tvb, offset, 82, ENC_BIG_ENDIAN);
     cb_inf_msg_len = tvb_get_guint8(tvb,offset+82);
-    page_tvb = tvb_new_subset(tvb, offset, cb_inf_msg_len, cb_inf_msg_len);
+    page_tvb = tvb_new_subset_length(tvb, offset, cb_inf_msg_len);
     unpacked_tvb = dissect_cbs_data(sms_encoding, page_tvb, subtree, pinfo, 0);
     len = tvb_length(unpacked_tvb);
     if (unpacked_tvb != NULL){
index 2e848e2da28fb5fd275166bec34610c6aba321fa..ce912feb998133ad3834fe88f26ca662b11f6a35 100644 (file)
@@ -1269,7 +1269,7 @@ looks_like_valid_sccp(guint32 frame_num _U_, tvbuff_t *tvb, guint8 my_mtp3_stand
 
     if (param_len == 0)
       RETURN_FALSE;
-    param_tvb = tvb_new_subset(tvb, called_ptr+1, param_len, param_len);
+    param_tvb = tvb_new_subset_length(tvb, called_ptr+1, param_len);
 
     if (!sccp_called_calling_looks_valid(frame_num, param_tvb, my_mtp3_standard, !is_connectionless(msgtype)))
       RETURN_FALSE;
@@ -1281,7 +1281,7 @@ looks_like_valid_sccp(guint32 frame_num _U_, tvbuff_t *tvb, guint8 my_mtp3_stand
 
     if (param_len == 0)
       RETURN_FALSE;
-    param_tvb = tvb_new_subset(tvb, calling_ptr+1, param_len, param_len);
+    param_tvb = tvb_new_subset_length(tvb, calling_ptr+1, param_len);
 
     if (!sccp_called_calling_looks_valid(frame_num, param_tvb, my_mtp3_standard, !is_connectionless(msgtype)))
       RETURN_FALSE;
@@ -1770,8 +1770,7 @@ dissect_sccp_global_title(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
   if (length < offset)
     return;
 
-  signals_tvb = tvb_new_subset(tvb, offset, (length - offset),
-                               (length - offset));
+  signals_tvb = tvb_new_subset_length(tvb, offset, (length - offset));
 
   digits_tree = dissect_sccp_gt_address_information(signals_tvb, pinfo, gt_tree,
                                                     (length - offset),
@@ -2005,8 +2004,7 @@ dissect_sccp_called_calling_param(tvbuff_t *tvb, proto_tree *tree, packet_info *
       if (length < offset)
         return;
 
-      gt_tvb = tvb_new_subset(tvb, offset, (length - offset),
-                              (length - offset));
+      gt_tvb = tvb_new_subset_length(tvb, offset, (length - offset));
       dissect_sccp_global_title(gt_tvb, pinfo, call_tree, (length - offset), gti,
                                 (routing_ind == ROUTE_ON_GT), called);
     }
@@ -2071,8 +2069,7 @@ dissect_sccp_called_calling_param(tvbuff_t *tvb, proto_tree *tree, packet_info *
     if (gti != AI_GTI_NO_GT) {
       if (length < offset)
         return;
-      gt_tvb = tvb_new_subset(tvb, offset, (length - offset),
-                              (length - offset));
+      gt_tvb = tvb_new_subset_length(tvb, offset, (length - offset));
       dissect_sccp_global_title(gt_tvb, pinfo, call_tree, (length - offset), gti,
                                 (routing_ind == ROUTE_ON_GT), called);
     }
@@ -2522,7 +2519,7 @@ dissect_sccp_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sccp_tree,
 
   }
 
-  parameter_tvb = tvb_new_subset(tvb, offset, parameter_length, parameter_length);
+  parameter_tvb = tvb_new_subset_length(tvb, offset, parameter_length);
 
   switch (parameter_type) {
 
index 4aad143673126b2bfd9be66b3c790d9e63281b81..73a71fd2aa564a429ab8448b949975b8752c481b 100644 (file)
@@ -460,7 +460,7 @@ dissect_osd_attribute_list_entry(packet_info *pinfo, tvbuff_t *tvb,
                 proto_tree_add_expert_format(tree, pinfo, &ei_osd_attr_length_invalid,
                                              tvb, 0, attribute_length, "%s", apn->name);
             } else {
-                tvbuff_t *next_tvb = tvb_new_subset(tvb, offset, attribute_length, attribute_length);
+                tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset, attribute_length);
                 apn->dissector(next_tvb, pinfo, tree, lun_info, apn);
             }
         }
index 7b5fad4bf0ca67f61a8058c220154bf0ff9b8e07..16414e0172ac4de2b0d1c0060f704f7ea733fbb1 100644 (file)
@@ -2013,8 +2013,7 @@ setup_sdp_transport(tvbuff_t *tvb, packet_info *pinfo, enum sdp_exchange_type ex
         if (hf != hf_unknown)
         {
             DINDENT();
-            call_sdp_subdissector(tvb_new_subset(tvb, offset + tokenoffset,
-                                                   linelen - tokenoffset,
+            call_sdp_subdissector(tvb_new_subset_length(tvb, offset + tokenoffset,
                                                    linelen - tokenoffset),
                                     pinfo,
                                     hf, NULL, linelen-tokenoffset, transport_info, &media_info);
@@ -2412,8 +2411,7 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
         sub_ti = proto_tree_add_string(sdp_tree, hf, tvb, offset, linelen,
                                        string);
 
-        call_sdp_subdissector(tvb_new_subset(tvb, offset + tokenoffset,
-                                             linelen - tokenoffset,
+        call_sdp_subdissector(tvb_new_subset_length(tvb, offset + tokenoffset,
                                              linelen - tokenoffset),
                               pinfo,
                               hf, sub_ti, linelen-tokenoffset,
index d400d4e1663ed908832f05fac37730ee5a6bcf62..2225904ef80eb576e694ed58f11192943d5c87aa 100644 (file)
@@ -2538,7 +2538,7 @@ dissect_selfm_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
         selfm_tvb = clean_telnet_iac(pinfo, tvb, 0, length);
     }
     else {
-        selfm_tvb = tvb_new_subset( tvb, 0, length, length);
+        selfm_tvb = tvb_new_subset_length( tvb, 0, length);
     }
 
 
index 85241ad3b8f99a9c2d17e73d890c5dcc356e2233..8b80b519a74d57a4e471457d0c8d34af9273722b 100644 (file)
@@ -900,13 +900,13 @@ static void dissect_siii_mdt_cp1_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
   for (idx = 0; idx < SERCOS_SLAVE_GROUP_SIZE; ++idx) /* each MDT of CP1/2 has data for 128 different slaves */
   {
-    tvb_n = tvb_new_subset(tvb, 6 * idx, 6, 6); /* subset for service channel data */
+    tvb_n = tvb_new_subset_length(tvb, 6 * idx, 6); /* subset for service channel data */
 
     ti = proto_tree_add_text(subtree_svc, tvb_n, 0, 6, "Device %u", idx + devstart);
     subtree = proto_item_add_subtree(ti, ett_siii_mdt_svc_channel);
     dissect_siii_mdt_svc(tvb_n, pinfo, subtree, idx + devstart);
 
-    tvb_n = tvb_new_subset(tvb, SERCOS_SLAVE_GROUP_SIZE * 6 + 4 * idx, 2, 2); /* subset for device control information */
+    tvb_n = tvb_new_subset_length(tvb, SERCOS_SLAVE_GROUP_SIZE * 6 + 4 * idx, 2); /* subset for device control information */
 
     ti = proto_tree_add_text(subtree_devctrl, tvb_n, 0, 2, "Device %u", idx + devstart);
     subtree = proto_item_add_subtree(ti, ett_siii_mdt_dev_control);
@@ -963,13 +963,13 @@ static void dissect_siii_mdt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
   switch (t_phase) /* call the MDT dissector depending on the current communication phase */
   {
   case COMMUNICATION_PHASE_0: /* CP0 */
-    tvb_n = tvb_new_subset(tvb, 6, 40, 40);
+    tvb_n = tvb_new_subset_length(tvb, 6, 40);
     dissect_siii_mdt_cp0(tvb_n, pinfo, subtree);
   break;
 
   case COMMUNICATION_PHASE_1: /* CP1 */
   case COMMUNICATION_PHASE_2: /* CP2 */
-    tvb_n = tvb_new_subset(tvb, 6, 1280, 1280);
+    tvb_n = tvb_new_subset_length(tvb, 6, 1280);
     dissect_siii_mdt_cp1_2(tvb_n, pinfo, subtree, telno);
   break;
 
@@ -1095,13 +1095,13 @@ static void dissect_siii_at_cp1_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
   for (idx = 0; idx < SERCOS_SLAVE_GROUP_SIZE; ++idx) /* each AT of CP1/2 has data of 128 different slaves */
   {
-    tvb_n = tvb_new_subset(tvb, 6 * idx, 6, 6); /* subset for service channel data */
+    tvb_n = tvb_new_subset_length(tvb, 6 * idx, 6); /* subset for service channel data */
 
     ti = proto_tree_add_text(subtree_svc, tvb_n, 0, 6, "Device %u", idx + devstart);
     subtree = proto_item_add_subtree(ti, ett_siii_at_svc_channel);
     dissect_siii_at_svc(tvb_n, pinfo, subtree, idx + devstart);
 
-    tvb_n = tvb_new_subset(tvb, SERCOS_SLAVE_GROUP_SIZE * 6 + 4 * idx, 2, 2); /* subset for device status information */
+    tvb_n = tvb_new_subset_length(tvb, SERCOS_SLAVE_GROUP_SIZE * 6 + 4 * idx, 2); /* subset for device status information */
 
     ti = proto_tree_add_text(subtree_devstat, tvb_n, 0, 2, "Device %u", idx + devstart);
     subtree = proto_item_add_subtree(ti, ett_siii_at_dev_status);
@@ -1155,13 +1155,13 @@ static void dissect_siii_at(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     switch (phase) /* call the AT dissector depending on the current communication phase */
     {
     case COMMUNICATION_PHASE_0: /* CP0 */
-      tvb_n = tvb_new_subset(tvb, 6, 1024, 1024);
+      tvb_n = tvb_new_subset_length(tvb, 6, 1024);
       dissect_siii_at_cp0(tvb_n, pinfo, subtree);
     break;
 
     case COMMUNICATION_PHASE_1: /* CP1 */
     case COMMUNICATION_PHASE_2: /* CP2 */
-      tvb_n = tvb_new_subset(tvb, 6, 1280, 1280);
+      tvb_n = tvb_new_subset_length(tvb, 6, 1280);
       dissect_siii_at_cp1_2(tvb_n, pinfo, subtree, telno);
     break;
 
index f052a9a776a2bb7b6040df5965f1352f3d955df5..2a0814dbe057f90f1f14dd92b2c4ea7a78ef2fec 100644 (file)
@@ -339,7 +339,7 @@ call_pres_dissector(tvbuff_t *tvb, int offset, guint16 param_len,
                /* Yes - call presentation dissector */
                tvbuff_t *next_tvb;
 
-               next_tvb = tvb_new_subset(tvb, offset, param_len, param_len);
+               next_tvb = tvb_new_subset_length(tvb, offset, param_len);
                /* Pass the session pdu to the presentation dissector  */
                call_dissector_with_data(pres_handle, next_tvb, pinfo, tree, session);
        }
index 946413d1019f3e1923f5550993469ab81f893cc6..ae516d3c6f2a1b07239c6f94c741a1089b2343e4 100644 (file)
@@ -378,7 +378,7 @@ de_sgsap_nas_msg_container(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
     /* Octets 3 to 253 contain the SMS message (i.e. CP DATA, CP ACK or CP ERROR)
      * as defined in subclause 7.2 of 3GPP TS 24.011 [10]
      */
-    new_tvb = tvb_new_subset(tvb, curr_offset, len, len);
+    new_tvb = tvb_new_subset_length(tvb, curr_offset, len);
     if (gsm_a_dtap_handle) {
         call_dissector(gsm_a_dtap_handle, new_tvb, pinfo, tree);
     }
index 5753eeb119270d63ac87709ae22c202684b9ef18..c6f6156b228a3104fbb2e919f175f5430ccae257 100644 (file)
@@ -708,7 +708,7 @@ dissect_sigcomp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sigcomp_tr
         }
 
         if ( decompress ) {
-            msg_tvb = tvb_new_subset(tvb, offset, msg_len, msg_len);
+            msg_tvb = tvb_new_subset_length(tvb, offset, msg_len);
             /*
              * buff                 = Where "state" will be stored
              * p_id_start           = Partial state identifier start pos in the buffer(buff)
@@ -759,7 +759,7 @@ dissect_sigcomp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sigcomp_tr
             udvm_tvb = tvb_new_child_real_data(tvb, buff,state_length+state_address,state_length+state_address);
             add_new_data_source(pinfo, udvm_tvb, "State/ExecutionTrace");
 
-            udvm2_tvb = tvb_new_subset(udvm_tvb, state_address, state_length, state_length);
+            udvm2_tvb = tvb_new_subset_length(udvm_tvb, state_address, state_length);
             udvm_exe_item = proto_tree_add_item(sigcomp_tree, hf_udvm_execution_trace,
                                                 udvm2_tvb, 0, state_length,
                                                 ENC_NA);
@@ -881,7 +881,7 @@ dissect_sigcomp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sigcomp_tr
                                    " %u (0x%x) bytes", bytecode_len, bytecode_len);
             sigcomp_udvm_tree = proto_item_add_subtree( udvm_bytecode_item, ett_sigcomp_udvm);
 
-            udvm_tvb = tvb_new_subset(tvb, offset, len, len);
+            udvm_tvb = tvb_new_subset_length(tvb, offset, len);
             if ( dissect_udvm_code )
                 dissect_udvm_bytecode(udvm_tvb, sigcomp_udvm_tree, destination);
 
@@ -895,7 +895,7 @@ dissect_sigcomp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *sigcomp_tr
             }
             if ( decompress ){
 
-                msg_tvb = tvb_new_subset(tvb, offset, msg_len, msg_len);
+                msg_tvb = tvb_new_subset_length(tvb, offset, msg_len);
 
                 udvm_exe_item = proto_tree_add_item(sigcomp_tree, hf_udvm_execution_trace,
                                                     tvb, bytecode_offset, bytecode_len,
index 9d1c29d9f48789698b13e2e90503510f20c0a902..28ab85ed56f660432a024b0c1eef1d6b5009e199 100644 (file)
@@ -2656,7 +2656,7 @@ dissect_sip_common(tvbuff_t *tvb, int offset, int remaining_length, packet_info
                 ext_hdr_handle = dissector_get_string_handle(ext_hdr_subdissector_table, header_name);
                 if (ext_hdr_handle != NULL) {
                     tvbuff_t *next_tvb2;
-                    next_tvb2 = tvb_new_subset(tvb, value_offset, value_len, value_len);
+                    next_tvb2 = tvb_new_subset_length(tvb, value_offset, value_len);
                     dissector_try_string(ext_hdr_subdissector_table, header_name, next_tvb2, pinfo, proto_item_add_subtree(ti_c, ett_sip_ext_hdr), NULL);
                 } else {
                     expert_add_info_format(pinfo, ti_c, &ei_sip_unrecognized_header,
@@ -3817,7 +3817,7 @@ dfilter_sip_status_line(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gin
 
     /* If we have a SIP diagnostics sub dissector call it */
     if(sip_diag_handle){
-        next_tvb = tvb_new_subset(tvb, offset, diag_len, diag_len);
+        next_tvb = tvb_new_subset_length(tvb, offset, diag_len);
         call_dissector(sip_diag_handle, next_tvb, pinfo, tree);
     }
 }
index 9cd1d064fb743ac46c7fd980d632d0e676b43b59..6f107550f16c59746bd9b3ef101a2baad310c558 100644 (file)
@@ -385,8 +385,8 @@ dissect_smb_direct(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
                }
 
                if (data_length <= (guint32)len) {
-                       next_tvb = tvb_new_subset(tvb, data_offset,
-                                                 data_length, data_length);
+                       next_tvb = tvb_new_subset_length(tvb, data_offset,
+                                                 data_length);
                }
 
                if (next_tvb != NULL) {
index 6698dced0d177ca8ac2057620e0b9e264ff2b10e..d986fc80dfa8311917769f06b542fc8df44e1bc8 100644 (file)
@@ -1023,7 +1023,7 @@ feed_eo_smb(guint16 cmd, guint16 fid, tvbuff_t * tvb, packet_info *pinfo, guint1
        GSList          *GSL_iterator;
 
        /* Create a new tvb to point to the payload data */
-       data_tvb = tvb_new_subset(tvb, dataoffset, datalen, datalen);
+       data_tvb = tvb_new_subset_length(tvb, dataoffset, datalen);
        /* Create the eo_info to pass to the listener */
        eo_info = wmem_new(wmem_packet_scope(), smb_eo_t);
 
@@ -7488,8 +7488,7 @@ dissect_session_setup_andx_response(tvbuff_t *tvb, packet_info *pinfo, proto_tre
                                                           ett_smb_secblob);
                        CHECK_BYTE_COUNT(sbloblen);
 
-                       blob_tvb = tvb_new_subset(tvb, offset, sbloblen,
-                                                   sbloblen);
+                       blob_tvb = tvb_new_subset_length(tvb, offset, sbloblen);
 
                        if (si && si->ct && si->ct->raw_ntlmssp &&
                            (tvb_strneql(tvb, offset, "NTLMSSP", 7) == 0)) {
@@ -14057,7 +14056,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                if (pc>tvb_length_remaining(tvb, po)) {
                                        p_tvb = tvb_new_subset(tvb, po, tvb_length_remaining(tvb, po), pc);
                                } else {
-                                       p_tvb = tvb_new_subset(tvb, po, pc, pc);
+                                       p_tvb = tvb_new_subset_length(tvb, po, pc);
                                }
                        } else {
                                p_tvb = NULL;
@@ -14066,7 +14065,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                if (dc>tvb_length_remaining(tvb, od)) {
                                        d_tvb = tvb_new_subset(tvb, od, tvb_length_remaining(tvb, od), dc);
                                } else {
-                                       d_tvb = tvb_new_subset(tvb, od, dc, dc);
+                                       d_tvb = tvb_new_subset_length(tvb, od, dc);
                                }
                        } else {
                                d_tvb = NULL;
@@ -14075,7 +14074,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                if (sl>tvb_length_remaining(tvb, so)) {
                                        s_tvb = tvb_new_subset(tvb, so, tvb_length_remaining(tvb, so), sl);
                                } else {
-                                       s_tvb = tvb_new_subset(tvb, so, sl, sl);
+                                       s_tvb = tvb_new_subset_length(tvb, so, sl);
                                }
                        } else {
                                s_tvb = NULL;
@@ -14126,7 +14125,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                 * A tvbuff containing the setup words and
                                 * the pipe path.
                                 */
-                               sp_tvb = tvb_new_subset(tvb, spo, spc, spc);
+                               sp_tvb = tvb_new_subset_length(tvb, spo, spc);
 
                                /*
                                 * A tvbuff containing the parameters and the
@@ -14155,7 +14154,7 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                                 * A tvbuff containing the setup words and
                                 * the mailslot path.
                                 */
-                               sp_tvb = tvb_new_subset(tvb, spo, spc, spc);
+                               sp_tvb = tvb_new_subset_length(tvb, spo, spc);
                                dissected_trans = dissect_mailslot_smb(sp_tvb,
                                    s_tvb, d_tvb, an+10, pinfo, top_tree_global, si);
                        }
@@ -16633,7 +16632,7 @@ dissect_transaction_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
                if ((2*sc) > tvb_length_remaining(tvb, offset)) {
                        s_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), 2*sc);
                } else {
-                       s_tvb = tvb_new_subset(tvb, offset, 2*sc, 2*sc);
+                       s_tvb = tvb_new_subset_length(tvb, offset, 2*sc);
                }
                sp_tvb = tvb_new_subset_remaining(tvb, offset);
        } else {
@@ -16686,10 +16685,10 @@ dissect_transaction_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
        if (pd_tvb) {
                /* OK we have reassembled data, extract d_tvb and p_tvb from it */
                if (tp) {
-                       p_tvb = tvb_new_subset(pd_tvb, 0, tp, tp);
+                       p_tvb = tvb_new_subset_length(pd_tvb, 0, tp);
                }
                if (td) {
-                       d_tvb = tvb_new_subset(pd_tvb, tp, td, td);
+                       d_tvb = tvb_new_subset_length(pd_tvb, tp, td);
                }
        } else {
                /* It was not reassembled. Do as best as we can.
index 7d165088feb12195cf50edca680e36bec597d36f..aa4e3dc32493cc528d8b79494beae607ab9a24b6 100644 (file)
@@ -738,7 +738,7 @@ feed_eo_smb2(tvbuff_t * tvb,packet_info *pinfo,smb2_info_t * si, guint16 dataoff
        gchar           **aux_string_v;
 
        /* Create a new tvb to point to the payload data */
-       data_tvb = tvb_new_subset(tvb, dataoffset, length, length);
+       data_tvb = tvb_new_subset_length(tvb, dataoffset, length);
        /* Create the eo_info to pass to the listener */
        eo_info = wmem_new(wmem_packet_scope(), smb_eo_t);
        /* Fill in eo_info */
@@ -6745,7 +6745,7 @@ dissect_smb2_transform_header(packet_info *pinfo _U_, proto_tree *tree,
        }
 done_decryption:
 #endif
-       *enc_tvb = tvb_new_subset(tvb, offset, sti->size, sti->size);
+       *enc_tvb = tvb_new_subset_length(tvb, offset, sti->size);
 
        if (plain_data != NULL) {
                *plain_tvb = tvb_new_child_real_data(*enc_tvb, plain_data, sti->size, sti->size);
index f994fec59ae30f93a9bc048fe1f43bc3d8df20e6..6053fe091c2db07bf3d4be9254dded529656078a 100644 (file)
@@ -520,7 +520,7 @@ dissect_sndcp_xid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
                        1, parameter_len);
                        offset += 2;
 
-                       dcomp_tvb = tvb_new_subset(tvb, offset, parameter_len, parameter_len);
+                       dcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len);
                        parse_compression_parameters(dcomp_tvb, dcomp_tree, TRUE);
                        offset += parameter_len;
 
@@ -539,7 +539,7 @@ dissect_sndcp_xid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
                        1, parameter_len);
                        offset += 2;
 
-                       pcomp_tvb = tvb_new_subset(tvb, offset, parameter_len, parameter_len);
+                       pcomp_tvb = tvb_new_subset_length(tvb, offset, parameter_len);
                        parse_compression_parameters(pcomp_tvb, pcomp_tree, FALSE);
                        offset += parameter_len;
 
index 68483ccd10159a3011c42def35a390db01c6da74..4706e83e77aa6b8865e8f2c4b898aaf6bda58f53 100644 (file)
@@ -1128,7 +1128,7 @@ already_added:
        pt_value = proto_item_add_subtree(pi_value,ett_value);
 
        if (value_len > 0 && oid_string) {
-               tvbuff_t* sub_tvb = tvb_new_subset(tvb, value_offset, value_len, value_len);
+               tvbuff_t* sub_tvb = tvb_new_subset_length(tvb, value_offset, value_len);
 
                next_tvb_add_string(&var_list, sub_tvb, (snmp_var_in_tree) ? pt_value : NULL, value_sub_dissectors_table, oid_string);
        }
index efa8f0fd7e0f956f3551360ca4c55591db0936f2..951c2ec50024216e7eb3d78585b7fcffd32fd507 100644 (file)
@@ -1118,7 +1118,7 @@ dissect_ImageJPEG_Alpha(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
     ti = proto_tree_add_text(tree, tvb, offset - 9, Data_Size + 9, "RGB JPEG Image, Alpha channel (%u bytes)", Data_Size);
     JPEG_tree = proto_item_add_subtree(ti, ett_JPEG);
 
-    jpeg_tvb = tvb_new_subset(tvb, offset, JPEG_Size, JPEG_Size);
+    jpeg_tvb = tvb_new_subset_length(tvb, offset, JPEG_Size);
     call_dissector(jpeg_handle, jpeg_tvb, pinfo, JPEG_tree);
     offset += JPEG_Size;
 
@@ -1138,7 +1138,7 @@ dissect_ImageJPEG(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, const gui
     ti = proto_tree_add_text(tree, tvb, offset, JPEG_Size + 4, "JPEG Image (%u bytes)", JPEG_Size);
     JPEG_tree = proto_item_add_subtree(ti, ett_JPEG);
 
-    jpeg_tvb = tvb_new_subset(tvb, offset + 4, JPEG_Size, JPEG_Size);
+    jpeg_tvb = tvb_new_subset_length(tvb, offset + 4, JPEG_Size);
     call_dissector(jpeg_handle, jpeg_tvb, pinfo, JPEG_tree);
 
     return JPEG_Size + 4;
@@ -1951,7 +1951,7 @@ dissect_spice_display_server(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
             proto_tree_add_item(tree, hf_display_stream_data_size, tvb, offset, 4, ENC_LITTLE_ENDIAN);
             offset += 4;
             proto_tree_add_text(tree, tvb, offset, data_size, "Stream data");
-            jpeg_tvb = tvb_new_subset(tvb, offset, data_size, data_size);
+            jpeg_tvb = tvb_new_subset_length(tvb, offset, data_size);
             call_dissector(jpeg_handle, jpeg_tvb, pinfo, tree);
             offset += data_size;
             break;
index adcd55b5d0b492a5a1142f125b896af2b7edb14f..469adf8e727530be903521cbb06532e769d3922a 100644 (file)
@@ -1280,8 +1280,8 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                                */
                                return offset;
                        }
-                       pinfo->gssapi_encrypted_tvb = tvb_new_subset(
-                                       tvb, offset, len, len);
+                       pinfo->gssapi_encrypted_tvb = tvb_new_subset_length(
+                                       tvb, offset, len);
                }
 
                /* if this is KRB5 wrapped rc4-hmac */
@@ -1292,9 +1292,8 @@ dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                           as well ?
                        */
                        if(!pinfo->gssapi_wrap_tvb){
-                               pinfo->gssapi_wrap_tvb = tvb_new_subset(
+                               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(
                                        tvb, start_offset-2,
-                                       GSS_ARCFOUR_WRAP_TOKEN_SIZE,
                                        GSS_ARCFOUR_WRAP_TOKEN_SIZE);
                        }
 #if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
@@ -1497,8 +1496,8 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                inner_token_len = tvb_reported_length_remaining(tvb, offset) -
                                        ec;
 
-               pinfo->gssapi_wrap_tvb = tvb_new_subset(tvb, offset,
-                                               inner_token_len, inner_token_len);
+               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(tvb, offset,
+                                               inner_token_len);
 
                offset += inner_token_len;
 
@@ -1535,9 +1534,8 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
                           as well ?
                        */
                        if(!pinfo->gssapi_wrap_tvb){
-                               pinfo->gssapi_wrap_tvb = tvb_new_subset(
+                               pinfo->gssapi_wrap_tvb = tvb_new_subset_length(
                                        tvb, start_offset-2,
-                                       offset - (start_offset-2),
                                        offset - (start_offset-2));
                        }
                }
@@ -1545,7 +1543,7 @@ dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo
 
 #if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
 {
-       tvbuff_t *checksum_tvb = tvb_new_subset(tvb, 16, checksum_size, checksum_size);
+       tvbuff_t *checksum_tvb = tvb_new_subset_length(tvb, 16, checksum_size);
 
        if (pinfo->gssapi_data_encrypted) {
                if(pinfo->gssapi_encrypted_tvb){
@@ -1954,7 +1952,7 @@ void proto_register_spnego(void) {
         NULL, HFILL }},
 
 /*--- End of included file: packet-spnego-hfarr.c ---*/
-#line 1409 "../../asn1/spnego/packet-spnego-template.c"
+#line 1407 "../../asn1/spnego/packet-spnego-template.c"
        };
 
        /* List of subtrees */
@@ -1977,7 +1975,7 @@ void proto_register_spnego(void) {
     &ett_spnego_InitialContextToken_U,
 
 /*--- End of included file: packet-spnego-ettarr.c ---*/
-#line 1419 "../../asn1/spnego/packet-spnego-template.c"
+#line 1417 "../../asn1/spnego/packet-spnego-template.c"
        };
 
        /* Register protocol */
index 65f2fad8e989ae35ab777be642b9f981da08b259..7a5d1bd0e28a7c11fa3e36ae39ab158153396494 100644 (file)
@@ -106,7 +106,7 @@ static void dissect_srp_command(tvbuff_t * tvb, packet_info * pinfo, proto_tree
         proto_tree_add_item(srp_tree,hf_srp_seqno,tvb,1,1,ENC_BIG_ENDIAN);
 
     payload_len = tvb_reported_length_remaining(tvb,4);
-    next_tvb = tvb_new_subset(tvb, 2, payload_len, payload_len );
+    next_tvb = tvb_new_subset_length(tvb, 2, payload_len);
 
     /* XXX currently, we always dissect as CCSRL. It's only that in
      * H324/Annex C though.
index d89fc23f7e5a791b5a37823b5161ee95dc727522..c598c080acb52f73fcc6d219cf4198c5d766cf75 100644 (file)
@@ -323,7 +323,7 @@ dissect_sscop_and_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, d
        * Therefore, we know that the captured length of the payload is
        * equal to the length of the payload.
        */
-      next_tvb = tvb_new_subset(tvb, 0, reported_length, reported_length);
+      next_tvb = tvb_new_subset_length(tvb, 0, reported_length);
       if (sscop_info.type == SSCOP_SD)
       {
                  call_dissector(payload_handle, next_tvb, pinfo, tree);
index 456332c199d22423d43d5b340c8eea1aa3ac42f5..457936d51231a4c40994f0d9c6ec92c84b3dfa5e 100644 (file)
@@ -1039,7 +1039,7 @@ dissect_stun_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboole
                         proto_tree_add_uint(att_tree, hf_stun_att_padding, tvb, offset+att_length, pad, pad);
                     }
 
-                    next_tvb = tvb_new_subset(tvb, offset, att_length, att_length);
+                    next_tvb = tvb_new_subset_length(tvb, offset, att_length);
 
                     if (!dissector_try_heuristic(heur_subdissector_list, next_tvb, pinfo, att_tree, &hdtbl_entry, NULL)) {
                         call_dissector_only(data_handle, next_tvb, pinfo, att_tree, NULL);
index 155d5c064e6d4d9200ffdbdf80e016cd3d7df374..257f253035a61eaaf2327a7f12291cf7a3104fb2 100644 (file)
@@ -592,7 +592,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto
   info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
   /* If we have a SUA Info String sub dissector call it */
   if(sua_info_str_handle) {
-    next_tvb = tvb_new_subset(parameter_tvb, INFO_STRING_OFFSET, info_string_length, info_string_length);
+    next_tvb = tvb_new_subset_length(parameter_tvb, INFO_STRING_OFFSET, info_string_length);
     call_dissector(sua_info_str_handle, next_tvb, pinfo, parameter_tree);
     return;
   }
@@ -1159,7 +1159,7 @@ dissect_data_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, prot
 
   if(data_tvb)
   {
-    *data_tvb = tvb_new_subset(parameter_tvb, PARAMETER_VALUE_OFFSET, data_length, data_length);
+    *data_tvb = tvb_new_subset_length(parameter_tvb, PARAMETER_VALUE_OFFSET, data_length);
   }
 }
 
@@ -2136,7 +2136,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
     if (remaining_length >= length)
       total_length = MIN(total_length, remaining_length);
     /* create a tvb for the parameter including the padding bytes */
-    parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+    parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
     switch(version) {
       case SUA_V08:
         dissect_v8_parameter(parameter_tvb, pinfo, tree, data_tvb, source_ssn, dest_ssn);
@@ -2183,7 +2183,7 @@ dissect_sua_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *sua_t
   sua_source_gt = NULL;
   sua_destination_gt = NULL;
 
-  common_header_tvb = tvb_new_subset(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+  common_header_tvb = tvb_new_subset_length(message_tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH);
   dissect_common_header(common_header_tvb, pinfo, sua_tree);
 
   parameters_tvb = tvb_new_subset_remaining(message_tvb, COMMON_HEADER_LENGTH);
index 2ea2c8105b3776b7345d6a953e00edd7282e4992..e663c72997507fcc25d9a92c63bd44e69efc96f0 100644 (file)
@@ -957,7 +957,7 @@ dissect_tacplus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                                        ((flags&FLAGS_UNENCRYPTED)?"":"Encrypted "), request?"Request":"Reply" );
 
                if( flags&FLAGS_UNENCRYPTED ) {
-                       new_tvb = tvb_new_subset( tvb, TAC_PLUS_HDR_SIZE, len, len );
+                       new_tvb = tvb_new_subset_length( tvb, TAC_PLUS_HDR_SIZE, len );
                }  else {
                        new_tvb=NULL;
                        if( key && *key ){
index edcbedff161440e93b6c17e751dded0963b6214f..38d2b0457cb866a801cc0c2066efb2d5ef043988 100644 (file)
@@ -679,7 +679,7 @@ gint ind_field;
 comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
 comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
 /* we can believe the length now */
-next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset);
+next_tvb = tvb_new_subset_length(tvb, offset, len+comp_offset-offset);
 
 if (!next_tvb)
   return comp_offset;
@@ -3878,8 +3878,7 @@ dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset
 
             if (len-(2*ind_field)) /*should always be positive unless we get an empty contructor pointless? */
             {
-                next_tvb = tvb_new_subset(tvb, offset, len-(2*ind_field),
-                    len-(2*ind_field));
+                next_tvb = tvb_new_subset_length(tvb, offset, len-(2*ind_field));
                 dissect_tcap_param(actx, subtree,next_tvb,0);
             }
 
@@ -3904,7 +3903,7 @@ dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset
 
             if (len) /* check for NULLS */
             {
-                next_tvb = tvb_new_subset(tvb, offset, len, len);
+                next_tvb = tvb_new_subset_length(tvb, offset, len);
                 dissect_ber_octet_string(TRUE, actx, tree, next_tvb, 0,
                     hf_tcap_data, NULL);
             }
index 1c9f97e04bcf9c4aaa26c6db05adf453b69316e2..77a5cf52426aa199c6bb7d4a227b944a0ee69a9b 100644 (file)
@@ -1815,10 +1815,10 @@ dissect_telnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
       data_len = iac_offset - offset;
       if (data_len > 0) {
         if (is_tn3270) {
-          next_tvb = tvb_new_subset(tvb, offset, data_len, data_len);
+          next_tvb = tvb_new_subset_length(tvb, offset, data_len);
           call_dissector(tn3270_handle, next_tvb, pinfo, telnet_tree);
         } else if (is_tn5250) {
-          next_tvb = tvb_new_subset(tvb, offset, data_len, data_len);
+          next_tvb = tvb_new_subset_length(tvb, offset, data_len);
           call_dissector(tn5250_handle, next_tvb, pinfo, telnet_tree);
         } else
           telnet_add_text(telnet_tree, tvb, offset, data_len);
index 9080c427648e1fba85495205dffa7e6f732f08c2..c576307a0a9d20669cc93dd38dad7a85ff389d48 100644 (file)
@@ -9052,7 +9052,7 @@ static void dissect_tetra_UNITDATA_IND(tvbuff_t *tvb, packet_info *pinfo, proto_
                if ((remaining_bits)!=0)
                        byte_len++;
 
-               payload_tvb = tvb_new_subset(tvb, pdu_offset, byte_len, byte_len);
+               payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
                tetra_dissect_pdu(channel_type, TETRA_UPLINK, payload_tvb, tetra_header_tree, pinfo);
 
                if ((remaining_bits)!=0)
@@ -9108,7 +9108,7 @@ static void dissect_tetra_UNITDATA_REQ(tvbuff_t *tvb, packet_info *pinfo, proto_
                if ((remaining_bits)!=0)
                                byte_len++;
 
-               payload_tvb = tvb_new_subset(tvb, pdu_offset, byte_len, byte_len);
+               payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
                tetra_dissect_pdu(channel_type, TETRA_DOWNLINK, payload_tvb, tetra_header_tree, pinfo);
                pdu_offset += byte_len;
        }
index a900dc635c38b1b8cb4176ef7462b491dee629c7..d5428235329370780960e9b389b4088d8cd73353 100644 (file)
@@ -959,7 +959,7 @@ dissect_tipc_v2_internal_msg(tvbuff_t *tipc_tvb, proto_tree *tipc_tree, packet_i
 
                                proto_tree_add_text(top_tree, tipc_tvb, offset, msg_in_bundle_size, "Message %u of %u in Bundle (%s)",
                                                msg_no, message_count, val_to_str_const(msg_in_bundle_user, tipcv2_user_short_str_vals, "unknown"));
-                               data_tvb = tvb_new_subset(tipc_tvb, offset, msg_in_bundle_size, msg_in_bundle_size);
+                               data_tvb = tvb_new_subset_length(tipc_tvb, offset, msg_in_bundle_size);
 
                                /* the info column shall not be deleted by the
                                 * encapsulated messages */
@@ -1990,7 +1990,7 @@ dissect_tipc_int_prot_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tipc_tr
                                msg_no++;
                                msg_in_bundle_size = tvb_get_ntohl(tvb, offset);
                                proto_tree_add_text(tipc_tree, tvb, offset, msg_in_bundle_size, "%u Message in Bundle", msg_no);
-                               data_tvb = tvb_new_subset(tvb, offset, msg_in_bundle_size, msg_in_bundle_size);
+                               data_tvb = tvb_new_subset_length(tvb, offset, msg_in_bundle_size);
                                col_set_fence(pinfo->cinfo, COL_INFO);
                                dissect_tipc(data_tvb, pinfo, tipc_tree, NULL);
                                offset = offset + msg_in_bundle_size;
@@ -2052,7 +2052,7 @@ dissect_tipc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
        if ((guint32)tvb_length_remaining(tvb, offset) < msg_size) {
                tipc_tvb = tvb;
        } else {
-               tipc_tvb = tvb_new_subset(tvb, offset, msg_size, msg_size);
+               tipc_tvb = tvb_new_subset_length(tvb, offset, msg_size);
        }
        /* user == 7 only works for v2, this will decode the legacy TIPC configuration protocol */
        if (user == TIPCv2_LINK_PROTOCOL) version = TIPCv2;
index e88a83ffc133f2a348caaeef779053553d09247f..37a0ffa45f7cba69721b018c9a16a34d05d43391 100644 (file)
@@ -570,7 +570,7 @@ static void dissect_tnef(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
            item = proto_tree_add_item(attr_tree, hf_tnef_mapi_props, tvb, offset, length, ENC_NA);
            props_tree = proto_item_add_subtree(item, ett_tnef_mapi_props);
 
-           next_tvb = tvb_new_subset(tvb, offset, length, length);
+           next_tvb = tvb_new_subset_length(tvb, offset, length);
 
            dissect_mapiprops(next_tvb, pinfo, props_tree);
 
@@ -592,7 +592,7 @@ static void dissect_tnef(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                    item = proto_tree_add_item(attr_tree, hf_tnef_attribute_date, tvb, offset, length, ENC_NA);
                    date_tree = proto_item_add_subtree(item, ett_tnef_attribute_date);
 
-                   next_tvb = tvb_new_subset(tvb, offset, length, length);
+                   next_tvb = tvb_new_subset_length(tvb, offset, length);
 
                    dissect_DTR(next_tvb, pinfo, date_tree);
 
index ec48a7f2d66f1dfb20f56ed1ffcd1d3c4c108751..1bfbbaa3241e93f242c4646ba657fb1867e8590e 100644 (file)
@@ -65,7 +65,7 @@ static void uadecode(e_ua_direction  direction,
     case 0x16:
         {
             call_dissector(noe_handle,
-                           tvb_new_subset(tvb, offset, length, length),
+                           tvb_new_subset_length(tvb, offset, length),
                            pinfo,
                            tree);
             break;
@@ -141,7 +141,7 @@ static void uadecode(e_ua_direction  direction,
     case 0x50:  /* Only UA NOE */
         {
             call_dissector_with_data(ua3g_handle,
-                       tvb_new_subset(tvb, offset, length, length),
+                       tvb_new_subset_length(tvb, offset, length),
                        pinfo,
                        tree, &direction);
             break;
index 2ac61afe0f14719b71ec49a1d34c6d26f62a1bab..5f82654a1dae8d6e24ec5856b6dbd1d98de3b1d5 100644 (file)
@@ -218,11 +218,11 @@ static void _dissect_uasip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 {
                     if (direction == SYS_TO_TERM)
                     {
-                        call_dissector(ua_sys_to_term_handle, tvb_new_subset(tvb, offset, datalen, datalen), pinfo, tree);
+                        call_dissector(ua_sys_to_term_handle, tvb_new_subset_length(tvb, offset, datalen), pinfo, tree);
                     }
                     else if (direction == TERM_TO_SYS)
                     {
-                        call_dissector(ua_term_to_sys_handle, tvb_new_subset(tvb, offset, datalen, datalen), pinfo, tree);
+                        call_dissector(ua_term_to_sys_handle, tvb_new_subset_length(tvb, offset, datalen), pinfo, tree);
                     }
                     else
                     {
index 6c947b3a85f8a5f4c0b390f2bcc014bba7f1f39d..60bc292200558887c645f8936e607e7160245a70 100644 (file)
@@ -298,12 +298,12 @@ static void _dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
         {
             if (direction == SYS_TO_TERM)
                 call_dissector(ua_sys_to_term_handle,
-                           tvb_new_subset(tvb, offset, datalen, datalen),
+                           tvb_new_subset_length(tvb, offset, datalen),
                            pinfo,
                            tree);
             else if (direction == TERM_TO_SYS)
                 call_dissector(ua_term_to_sys_handle,
-                           tvb_new_subset(tvb, offset, datalen, datalen),
+                           tvb_new_subset_length(tvb, offset, datalen),
                            pinfo,
                            tree);
             else {
index 1eb8ca01d048b2e264cbd0f160967f9ea86110a5..017aa0cacfcf02c259aa58e18ccc5184fb3d2025 100644 (file)
@@ -1683,7 +1683,7 @@ add_5xO(proto_tree *tree, tvbuff_t *tvb)
         proto_tree *subtree;
 
         ti = proto_tree_add_item(tree, hf_ucp_parm_XSer, tvb, offset, len, ENC_NA);
-        tmptvb = tvb_new_subset(tvb, offset, len + 1, len + 1);
+        tmptvb = tvb_new_subset_length(tvb, offset, len + 1);
         subtree = proto_item_add_subtree(ti, ett_XSer);
         ucp_handle_XSer(subtree, tmptvb);
     }
index 0e8f527b01c10f71abeccbb6fd67c0527d8c68b3..1cc213b57adc23c77568ee14ed61a884342ed5b3 100644 (file)
@@ -954,7 +954,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
                 * The Location Estimate field is composed of 1 or more octets with an internal structure
                 * according to section 7 in [23.032].
                 */
-               new_tvb = tvb_new_subset(tvb, ie_offset,ie_len, ie_len );
+               new_tvb = tvb_new_subset_length(tvb, ie_offset, ie_len );
                dissect_geographical_description(new_tvb, pinfo, urr_ie_tree);
                break;
        case 9:
@@ -1071,7 +1071,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
                 */
                proto_tree_add_item(urr_ie_tree, hf_uma_urr_L3_protocol_discriminator, tvb, ie_offset, 1, ENC_BIG_ENDIAN);
                proto_tree_add_item(urr_ie_tree, hf_uma_urr_L3_Message, tvb, ie_offset, ie_len, ENC_NA);
-               l3_tvb = tvb_new_subset(tvb, ie_offset,ie_len, ie_len );
+               l3_tvb = tvb_new_subset_length(tvb, ie_offset, ie_len );
                if  (!dissector_try_uint(bssap_pdu_type_table,BSSAP_PDU_TYPE_DTAP, l3_tvb, pinfo, urr_ie_tree))
                                call_dissector(data_handle, l3_tvb, pinfo, urr_ie_tree);
                break;
@@ -1115,7 +1115,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
                proto_tree_add_item(urr_ie_tree, hf_uma_urr_L3_protocol_discriminator, tvb, ie_offset, 1, ENC_BIG_ENDIAN);
                proto_tree_add_item(urr_ie_tree, hf_uma_urr_L3_Message, tvb, ie_offset, ie_len, ENC_NA);
                /* XXX the dissector to call should depend on the RAT type ??? */
-               l3_tvb = tvb_new_subset(tvb, ie_offset,ie_len, ie_len );
+               l3_tvb = tvb_new_subset_length(tvb, ie_offset, ie_len );
                if  (!dissector_try_uint(bssap_pdu_type_table,BSSAP_PDU_TYPE_DTAP, l3_tvb, pinfo, urr_ie_tree))
                                call_dissector(data_handle, l3_tvb, pinfo, urr_ie_tree);
                break;
@@ -1243,7 +1243,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
                 * The rest of the IE is coded as in [TS 48.018], not including IEI and length, if present
                 */
                proto_tree_add_item(urr_ie_tree, hf_uma_urr_LLC_PDU, tvb, ie_offset, ie_len, ENC_NA);
-               llc_tvb = tvb_new_subset(tvb, ie_offset,ie_len, ie_len );
+               llc_tvb = tvb_new_subset_length(tvb, ie_offset, ie_len );
                  if (llc_handle) {
                        col_append_str(pinfo->cinfo, COL_PROTOCOL, "/");
                        col_set_fence(pinfo->cinfo, COL_PROTOCOL);
@@ -1307,7 +1307,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
                 * The rest of the IE is the INTER RAT HANDOVER INFO coded as in
                 * [TS 25.331], not including IEI and length, if present
                 */
-               new_tvb = tvb_new_subset(tvb, ie_offset,ie_len, ie_len );
+               new_tvb = tvb_new_subset_length(tvb, ie_offset, ie_len );
                dissect_rrc_InterRATHandoverInfo_PDU(new_tvb, pinfo, urr_ie_tree, NULL);
                break;
        case 65:
index c622479f79ee78a870256e499795eb214470691b..49b41a06b6bcd0fd5ccde082633d9c273a30935d 100644 (file)
@@ -660,7 +660,7 @@ static gboolean verify_header_crc_edch(tvbuff_t * tvb, packet_info * pinfo, prot
     guint16 crc = 0;
     guint8 * data = NULL;
     /* First create new subset of header with first byte removed. */
-    tvbuff_t * headtvb = tvb_new_subset(tvb, 1, header_length-1, header_length-1);
+    tvbuff_t * headtvb = tvb_new_subset_length(tvb, 1, header_length-1);
     /* Get data of header with first byte removed. */
     data = (guint8 *)tvb_memdup(wmem_packet_scope(), headtvb, 0, header_length-1);
     /* Remove first 4 bits of the remaining data which are Header CRC cont. */
@@ -3701,7 +3701,7 @@ void dissect_hsdsch_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto
                     /* In the very few test cases I've seen, this seems to be
                      * BCCH with transparent MAC layer. Therefore skip right to
                      * rlc_bcch and hope for the best. */
-                    next_tvb = tvb_new_subset(tvb, offset, (gint)pdu_length[n], (gint)pdu_length[n]);
+                    next_tvb = tvb_new_subset_length(tvb, offset, (gint)pdu_length[n]);
                     call_dissector(rlc_bcch_handle, next_tvb, pinfo, top_level_tree);
                     offset += (gint)pdu_length[n];
                 } else { /* Else go for CCCH UM, this seems to work. */
@@ -3724,7 +3724,7 @@ void dissect_hsdsch_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto
                     rlcinf->rbid[j] = (guint8)lchid[n]+1;
                     rlcinf->urnti[j] = p_fp_info->channel; /*We need to fake urnti*/
 
-                    next_tvb = tvb_new_subset(tvb, offset, (gint)pdu_length[n], (gint)pdu_length[n]);
+                    next_tvb = tvb_new_subset_length(tvb, offset, (gint)pdu_length[n]);
                     call_dissector(mac_fdd_hsdsch_handle, next_tvb, pinfo, top_level_tree);
 
 
index e50b5a66fb1ecfc69108e450901ce336c7b26b23..1d4de957fed1f242210cb8b05b6e2b73a7d5b1ff 100644 (file)
@@ -479,7 +479,7 @@ dissect_ccid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
             next_tvb = tvb_new_subset_remaining(tvb, 10);
 
             if (sub_selected == SUB_PN532) {
-                next_tvb= tvb_new_subset(tvb, 10, tvb_get_guint8(tvb, 1), tvb_get_guint8(tvb, 1));
+                next_tvb= tvb_new_subset_length(tvb, 10, tvb_get_guint8(tvb, 1));
                 call_dissector_with_data(sub_handles[SUB_PN532], next_tvb, pinfo, tree, usb_conv_info);
             } else if (sub_selected == SUB_ACR122_PN532) {
                 pinfo->p2p_dir = P2P_DIR_RECV;
index f34352f4f5afd137308ff8786bd46c896522ced4..a94120c479bccb7ead7d24b30dc2b3674d60e7b6 100644 (file)
@@ -1907,7 +1907,7 @@ dissect_usb_configuration_descriptor(packet_info *pinfo _U_, proto_tree *parent_
             offset = dissect_usb_interface_assn_descriptor(pinfo, parent_tree, tvb, offset, usb_trans_info, usb_conv_info);
             break;
         default:
-            next_tvb = tvb_new_subset(tvb, offset, next_len, next_len);
+            next_tvb = tvb_new_subset_length(tvb, offset, next_len);
             if (dissector_try_uint_new(usb_descriptor_dissector_table, usb_conv_info->interfaceClass, next_tvb, pinfo, parent_tree, TRUE, usb_conv_info)) {
                 offset += next_len;
             } else {
@@ -3036,7 +3036,7 @@ dissect_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
                     (header_info & (USB_HEADER_IS_LINUX | USB_HEADER_IS_64_BYTES))) {
 
                     setup_tvb = tvb_new_composite();
-                    next_tvb = tvb_new_subset(tvb, offset - 7, 7, 7);
+                    next_tvb = tvb_new_subset_length(tvb, offset - 7, 7);
                     tvb_composite_append(setup_tvb, next_tvb);
                 }
 
index a62ef833735d392263e0542d0cbc4a4fb08d1b1b..72f71e67fcfa67f88992f692f43ca2aa050b38c4 100644 (file)
@@ -137,7 +137,7 @@ static void dissect_user(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree) {
     proto_item_set_text(item,"DLT: %d",pinfo->match_uint + 147 - WTAP_ENCAP_USER0);
 
     if (encap->header_size) {
-        tvbuff_t* hdr_tvb = tvb_new_subset(tvb, 0, encap->header_size, encap->header_size);
+        tvbuff_t* hdr_tvb = tvb_new_subset_length(tvb, 0, encap->header_size);
         call_dissector(encap->header_proto, hdr_tvb, pinfo, tree);
         if (encap->header_proto_name) {
             const char *proto_name = dissector_handle_get_long_name(find_dissector(encap->header_proto_name));
@@ -160,7 +160,7 @@ static void dissect_user(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree) {
     }
 
     if (encap->trailer_size) {
-        tvbuff_t* trailer_tvb = tvb_new_subset(tvb, encap->header_size + len, encap->trailer_size, encap->trailer_size);
+        tvbuff_t* trailer_tvb = tvb_new_subset_length(tvb, encap->header_size + len, encap->trailer_size);
         call_dissector(encap->trailer_proto, trailer_tvb, pinfo, tree);
         if (encap->trailer_proto_name) {
             const char *proto_name = dissector_handle_get_long_name(find_dissector(encap->trailer_proto_name));
index 3a01e246683311185bc35b015f29b6dbb85e65c1..e8d9f926cfb86e8044e3421f6cb89115c324982b 100644 (file)
@@ -694,7 +694,7 @@ dissect_pstn_sequence_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -728,7 +728,7 @@ dissect_cadenced_ring(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -765,7 +765,7 @@ dissect_pulsed_signal(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -812,7 +812,7 @@ dissect_steady_signal(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -849,7 +849,7 @@ dissect_digit_signal(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int of
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -894,7 +894,7 @@ dissect_recognition_time(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -937,7 +937,7 @@ dissect_enable_auto_ack(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -993,7 +993,7 @@ dissect_disable_auto_ack(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1032,7 +1032,7 @@ dissect_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1072,7 +1072,7 @@ dissect_resource_unavailable(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1105,7 +1105,7 @@ dissect_pulse_notification(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1136,7 +1136,7 @@ dissect_line_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1167,7 +1167,7 @@ dissect_state(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1198,7 +1198,7 @@ dissect_auto_sig_sequence(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, i
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1229,7 +1229,7 @@ dissect_sequence_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, i
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1260,7 +1260,7 @@ dissect_control_function_element(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1296,7 +1296,7 @@ dissect_control_function_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1333,7 +1333,7 @@ dissect_variant(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1367,7 +1367,7 @@ dissect_interface_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int of
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1404,7 +1404,7 @@ dissect_sequence_number(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length  = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb     = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb     = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1444,7 +1444,7 @@ dissect_physical_c_channel_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1480,7 +1480,7 @@ dissect_pp_rejection_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1513,7 +1513,7 @@ dissect_protocol_error(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1549,7 +1549,7 @@ dissect_performance_grading(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1581,7 +1581,7 @@ dissect_cp_rejection_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = 1;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1615,7 +1615,7 @@ dissect_user_port_identification(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1664,7 +1664,7 @@ dissect_isdn_port_time_slot_identification(tvbuff_t *tvb, packet_info *pinfo, pr
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1700,7 +1700,7 @@ dissect_v5_time_slot_identification(tvbuff_t *tvb, packet_info *pinfo, proto_tre
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1745,7 +1745,7 @@ dissect_multi_slot_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1794,7 +1794,7 @@ dissect_bcc_rejct_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1827,7 +1827,7 @@ dissect_bcc_protocol_error_cause(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1865,7 +1865,7 @@ dissect_connection_incomplete(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
@@ -1905,7 +1905,7 @@ dissect_link_control_function(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
     info_element = tvb_get_guint8(tvb, offset);
 
     data_length = tvb_get_guint8(tvb, offset+1)+2;
-    info_tvb    = tvb_new_subset(tvb, offset, data_length, data_length);
+    info_tvb    = tvb_new_subset_length(tvb, offset, data_length);
 
     if (tree) {
         ti_info = proto_tree_add_text(tree, info_tvb, info_offset, -1, "Info Element:");
index 2e6224fb68ce1f9bebecdf83b0026f80c08fa4d9..cc412805e0a6e34bb6031b42275c889e880bcda2 100644 (file)
@@ -643,7 +643,7 @@ dissect_layer3_message(tvbuff_t *layer3_data_tvb, proto_tree *v5ua_tree,proto_it
       tvbuff_t *protocol_data_tvb;
 
       protocol_data_length = tvb_get_ntohs(layer3_data_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-      protocol_data_tvb    = tvb_new_subset(layer3_data_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length, protocol_data_length);
+      protocol_data_tvb    = tvb_new_subset_length(layer3_data_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length);
 
       call_dissector(v52_handle, protocol_data_tvb, pinfo, v5ua_tree);
 
@@ -655,7 +655,7 @@ dissect_layer3_message(tvbuff_t *layer3_data_tvb, proto_tree *v5ua_tree,proto_it
       tvbuff_t *protocol_data_tvb;
 
       protocol_data_length = tvb_get_ntohs(layer3_data_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
-      protocol_data_tvb    = tvb_new_subset(layer3_data_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length, protocol_data_length);
+      protocol_data_tvb    = tvb_new_subset_length(layer3_data_tvb, PARAMETER_VALUE_OFFSET, protocol_data_length);
       call_dissector(q931_handle, protocol_data_tvb, pinfo, v5ua_tree);
 
       proto_item_append_text(parameter_item, " (%u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s"));
@@ -947,7 +947,7 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *v5ua_
                   length_2 = msg_length - offset;
                   if(length_2 > 0){
                      if(tvb_get_guint8(parameter_tvb, offset) == 0x48){
-                        layer3_data_tvb = tvb_new_subset(parameter_tvb, offset, length_2, length_2);
+                        layer3_data_tvb = tvb_new_subset_length(parameter_tvb, offset, length_2);
                         dissect_layer3_message(layer3_data_tvb, v5ua_tree, parameter_item, pinfo);
                      }
                   }
@@ -1046,7 +1046,7 @@ dissect_parameters(tvbuff_t *parameters_tvb, packet_info *pinfo, proto_tree *tre
       if (remaining_length >= length)
          total_length = MIN(total_length, remaining_length);
       /* create a tvb for the parameter including the padding bytes */
-      parameter_tvb  = tvb_new_subset(parameters_tvb, offset, total_length, total_length);
+      parameter_tvb  = tvb_new_subset_length(parameters_tvb, offset, total_length);
       dissect_parameter(parameter_tvb, pinfo, v5ua_tree);
       /* get rid of the handled parameter */
       offset += total_length;
@@ -1351,7 +1351,7 @@ dissect_v5ua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_
 {
    tvbuff_t *common_header_tvb, *parameters_tvb;
 
-   common_header_tvb = tvb_new_subset(tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH, COMMON_HEADER_LENGTH);
+   common_header_tvb = tvb_new_subset_length(tvb, COMMON_HEADER_OFFSET, COMMON_HEADER_LENGTH);
    dissect_common_header(common_header_tvb, pinfo, v5ua_tree);
 
    parameters_tvb    = tvb_new_subset_remaining(tvb, COMMON_HEADER_LENGTH);
index a822c5320d6e233568af6737a469ba0974ccb509..aa0b7e8d76e9516855645e83c0a8cc0deeea8571 100644 (file)
@@ -778,7 +778,7 @@ dissect_snmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
        /* Don't add SNMP stuff to the info column */
        col_set_writable(pinfo->cinfo, FALSE);
 
-       snmp_tvb = tvb_new_subset(tvb, offset, length, length);
+       snmp_tvb = tvb_new_subset_length(tvb, offset, length);
 
        /* Continue after SNMP dissection errors */
        TRY {
@@ -803,7 +803,7 @@ dissect_ieee80211(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
        /* Don't add IEEE 802.11 stuff to the info column */
        col_set_writable(pinfo->cinfo, FALSE);
 
-       ieee80211_tvb = tvb_new_subset(tvb, offset, length, length);
+       ieee80211_tvb = tvb_new_subset_length(tvb, offset, length);
 
        /* Continue after IEEE 802.11 dissection errors */
        TRY {
index 44147f8c37ad7cac71785f5d85bd6cba1e581b33..b351f69996bd4f3b87b47cca7e474edd7d605e5d 100644 (file)
@@ -425,7 +425,7 @@ dissect_winsrepl_wins_name(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
         * the type is 0x1b.  I think I've seen this in at least
         * one capture.
         */
-       name_tvb = tvb_new_subset(winsrepl_tvb, winsrepl_offset, name_len, name_len);
+       name_tvb = tvb_new_subset_length(winsrepl_tvb, winsrepl_offset, name_len);
        netbios_add_name("Name", name_tvb, 0, name_tree);
        name_type = get_netbios_name(name_tvb, 0, name_str, (NETBIOS_NAME_LEN - 1)*4 + 1);
        proto_item_append_text(name_item, ": %s<%02x>", name_str, name_type);
index 7ed42ae3b72a2bf48737b031533994b4a045135a..18cb45a38dbd37211d5b94799cde59815b0d0b8c 100644 (file)
@@ -2346,7 +2346,7 @@ static guint32 wkh_profile_diff_wbxml (proto_tree *tree, tvbuff_t *tvb,
         ti = proto_tree_add_string(tree, hf_hdr_profile_diff, tvb, hdr_start, offset - hdr_start,
                 "(Profile-Diff value as WBXML)");
         subtree = proto_item_add_subtree(ti, ett_header);
-        tmp_tvb = tvb_new_subset(tvb, val_start + val_len_len, val_len, val_len); /* TODO: fix 2nd length */
+        tmp_tvb = tvb_new_subset_length(tvb, val_start + val_len_len, val_len); /* TODO: fix 2nd length */
         call_dissector(wbxml_uaprof_handle, tmp_tvb, pinfo, subtree);
         ok = TRUE;
     wkh_4_End(hf_hdr_profile_diff);
@@ -4821,7 +4821,7 @@ dissect_sir(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             tvb, 1, len, val_len);
     offset = 1 + len;
     /* Application-Id headers */
-    tmp_tvb = tvb_new_subset(tvb, offset, val_len, val_len);
+    tmp_tvb = tvb_new_subset_length(tvb, offset, val_len);
     add_headers (subtree, tmp_tvb, hf_sir_app_id_list, pinfo);
     offset += val_len;
 
@@ -4831,7 +4831,7 @@ dissect_sir(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             tvb, offset, len, val_len);
     offset += len;
     /* WSP contact point list */
-    tmp_tvb = tvb_new_subset (tvb, offset, val_len, val_len);
+    tmp_tvb = tvb_new_subset_length (tvb, offset, val_len);
     add_addresses(subtree, tmp_tvb, hf_sir_wsp_contact_points);
 
     /* End of version 0 SIR content */
@@ -4846,7 +4846,7 @@ dissect_sir(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
             tvb, offset, len, val_len);
     offset += len;
     /* Non-WSP contact point list */
-    tmp_tvb = tvb_new_subset (tvb, offset, val_len, val_len);
+    tmp_tvb = tvb_new_subset_length(tvb, offset, val_len);
     add_addresses(subtree, tmp_tvb, hf_sir_contact_points);
 
     offset += val_len;
@@ -5037,16 +5037,16 @@ dissect_wsp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 }
                 if (capabilityLength > 0)
                 {
-                    tmp_tvb = tvb_new_subset (tvb, offset,
-                            capabilityLength, capabilityLength);
+                    tmp_tvb = tvb_new_subset_length (tvb, offset,
+                            capabilityLength);
                     add_capabilities (wsp_tree, tmp_tvb, pdut);
                     offset += capabilityLength;
                 }
 
                 if (headerLength > 0)
                 {
-                    tmp_tvb = tvb_new_subset (tvb, offset,
-                            headerLength, headerLength);
+                    tmp_tvb = tvb_new_subset_length (tvb, offset,
+                            headerLength);
                     add_headers (wsp_tree, tmp_tvb, hf_wsp_headers_section, pinfo);
                 }
             } /* if (tree) */
@@ -5128,8 +5128,8 @@ dissect_wsp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 headerLength = headersLength - (nextOffset - contentTypeStart);
                 if (headerLength > 0)
                 {
-                    tmp_tvb = tvb_new_subset (tvb, nextOffset,
-                            headerLength, headerLength);
+                    tmp_tvb = tvb_new_subset_length (tvb, nextOffset,
+                            headerLength);
                     add_headers (wsp_tree, tmp_tvb, hf_wsp_headers_section, pinfo);
                 }
                 /* XXX - offset is no longer used after this point */
@@ -5222,8 +5222,8 @@ dissect_wsp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 headerLength = headersLength - (nextOffset - contentTypeStart);
                 if (headerLength > 0)
                 {
-                    tmp_tvb = tvb_new_subset (tvb, nextOffset,
-                            headerLength, headerLength);
+                    tmp_tvb = tvb_new_subset_length (tvb, nextOffset,
+                            headerLength);
                     add_headers (wsp_tree, tmp_tvb, hf_wsp_headers_section, pinfo);
                 }
                 /* XXX - offset is no longer used after this point */
@@ -5301,8 +5301,8 @@ dissect_wsp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
                 headerLength = headersLength-(nextOffset-contentTypeStart);
                 if (headerLength > 0)
                 {
-                    tmp_tvb = tvb_new_subset (tvb, nextOffset,
-                            headerLength, headerLength);
+                    tmp_tvb = tvb_new_subset_length (tvb, nextOffset,
+                            headerLength);
                     add_headers (wsp_tree, tmp_tvb, hf_wsp_headers_section, pinfo);
                 }
                 /* XXX - offset is no longer used after this point */
@@ -5909,7 +5909,7 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
         HeadersLen -= (nextOffset - offset);
         if (HeadersLen > 0)
         {
-            tmp_tvb = tvb_new_subset (tvb, nextOffset, HeadersLen, HeadersLen);
+            tmp_tvb = tvb_new_subset_length (tvb, nextOffset, HeadersLen);
             add_headers (mpart_tree, tmp_tvb, hf_wsp_headers_section, pinfo);
         }
         offset = nextOffset + HeadersLen;
@@ -5918,7 +5918,7 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
          *
          * TODO - handle nested multipart documents.
          */
-        tmp_tvb = tvb_new_subset(tvb, offset, DataLen, DataLen);
+        tmp_tvb = tvb_new_subset_length(tvb, offset, DataLen);
         /*
          * Try finding a dissector for the content
          * first, then fallback.
index ae6238bdee712608135ac8dad8e6fdffccfbb0f1..b3ef98097301585ae2c5ef106f1425c3e8be2251 100644 (file)
@@ -383,7 +383,7 @@ dissect_wtp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 col_append_str(pinfo->cinfo, COL_INFO, ", ");
             }
             /* Skip the length field for the WTP sub-tvb */
-            wtp_tvb = tvb_new_subset(tvb, offCur + c_fieldlen, c_pdulen, c_pdulen);
+            wtp_tvb = tvb_new_subset_length(tvb, offCur + c_fieldlen, c_pdulen);
             dissect_wtp_common(wtp_tvb, pinfo, wtp_tree);
             offCur += c_fieldlen + c_pdulen;
             i++;
@@ -633,7 +633,7 @@ dissect_wtp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                 tpiLen = 1 + (tByte & 0x03);
             if (tree)
             {
-                tmp_tvb = tvb_new_subset(tvb, offCur + cbHeader + vHeader, tpiLen, tpiLen);
+                tmp_tvb = tvb_new_subset_length(tvb, offCur + cbHeader + vHeader, tpiLen);
                 wtp_handle_tpi(wtp_tree, tmp_tvb);
             }
             vHeader += tpiLen;
index c27f6d43afbd2b4440b7e023764db9975b86a3cd..5db656771cd146d79f3d0e0697524029311eae52 100644 (file)
@@ -763,7 +763,7 @@ decode_xmcp_attr_value (proto_tree *attr_tree, guint16 attr_type,
       tvbuff_t *next_tvb;
       guint8 *test_string, *tok;
 
-      next_tvb = tvb_new_subset(tvb, offset, attr_length, attr_length);
+      next_tvb = tvb_new_subset_length(tvb, offset, attr_length);
       /*
        * Service-Data is usually (but not always) plain text, specifically XML.
        * If it "looks like" XML (begins with optional whitespace followed by
index 74a0f54361879efde1119a70e9d9e54ce820aeae..ac311e0a72348c764cb047e77b57d07fb6c2bfec 100644 (file)
@@ -333,7 +333,7 @@ static void after_token(void *tvbparse_data, const void *wanted_data _U_, tvbpar
         new_frame->type           = XML_FRAME_CDATA;
         new_frame->name           = NULL;
         new_frame->name_orig_case = NULL;
-        new_frame->value          = tvb_new_subset(tok->tvb, tok->offset, tok->len, tok->len);
+        new_frame->value          = tvb_new_subset_length(tok->tvb, tok->offset, tok->len);
         insert_xml_frame(current_frame, new_frame);
         new_frame->item           = pi;
         new_frame->last_item      = pi;
@@ -608,8 +608,8 @@ static void after_attrib(void *tvbparse_data, const void *wanted_data _U_, tvbpa
     new_frame->type           = XML_FRAME_ATTRIB;
     new_frame->name           = name;
     new_frame->name_orig_case = name_orig_case;
-    new_frame->value          = tvb_new_subset(value_part->tvb, value_part->offset,
-                           value_part->len, value_part->len);
+    new_frame->value          = tvb_new_subset_length(value_part->tvb, value_part->offset,
+                           value_part->len);
     insert_xml_frame(current_frame, new_frame);
     new_frame->item           = pi;
     new_frame->last_item      = pi;
index 7f09d496c70632a7351d4dcfce7796f3240a3749..5f907bb4e344b0d098ee26774ae50273b3741900 100644 (file)
@@ -1125,9 +1125,8 @@ static void dissect_zbee_aps_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
     /* Check for any excess bytes. */
     if (offset < tvb_length(tvb)) {
         /* There are leftover bytes! */
-        guint       leftover_len    = tvb_length(tvb) - offset;
         proto_tree  *root;
-        tvbuff_t    *leftover_tvb   = tvb_new_subset(tvb, offset, leftover_len, leftover_len);
+        tvbuff_t    *leftover_tvb   = tvb_new_subset_remaining(tvb, offset);
 
         /* Get the APS Root. */
         root = proto_tree_get_root(tree);
@@ -1643,7 +1642,7 @@ static int dissect_zbee_apf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
 
         /* Create a tvb for this transaction. */
         length = zbee_apf_transaction_len(tvb, offset, type);
-        app_tvb = tvb_new_subset(tvb, offset, length, length);
+        app_tvb = tvb_new_subset_length(tvb, offset, length);
 
         /* Call the application dissector. */
         call_dissector_with_data(app_dissector, app_tvb, pinfo, tree, data);
index 6a81dc31c08d1292efc6da1d6169ceb23465b086..0a5ed1db1792cb2452165b0cae93e07105e964da 100644 (file)
@@ -1358,7 +1358,7 @@ dissect_zbee_nwk_gp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
     } else if (packet.mic_size == 4) {
         packet.mic = tvb_get_letohl(tvb, offset + packet.payload_len);
     }
-    payload_tvb = tvb_new_subset(tvb, offset, packet.payload_len, packet.payload_len);
+    payload_tvb = tvb_new_subset_length(tvb, offset, packet.payload_len);
     if (packet.security_level != ZBEE_NWK_GP_SECURITY_LEVEL_FULLENCR) {
         dissect_zbee_nwk_gp_cmd(payload_tvb, pinfo, nwk_tree, data);
     }
index db1373418c8fcec79251275e02b9b3751e697330..9527a6260f1b91c00adee6b720457ada0a2845b1 100644 (file)
@@ -815,8 +815,7 @@ static void dissect_zbee_nwk_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
     /* There is excess data in the packet. */
     if (offset < tvb_length(tvb)) {
         /* There are leftover bytes! */
-        guint       leftover_len    = tvb_length(tvb) - offset;
-        tvbuff_t    *leftover_tvb   = tvb_new_subset(tvb, offset, leftover_len, leftover_len);
+        tvbuff_t    *leftover_tvb   = tvb_new_subset_remaining(tvb, offset);
         proto_tree  *root           = NULL;
 
         /* Correct the length of the command tree. */
@@ -1641,8 +1640,7 @@ static int dissect_zbip_beacon(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
     if (offset < tvb_length(tvb)) {
         /* TODO: There are TLV's to parse. */
         /* Bytes leftover! */
-        guint       leftover_len    = tvb_length(tvb) - offset;
-        tvbuff_t    *leftover_tvb   = tvb_new_subset(tvb, offset, leftover_len, leftover_len);
+        tvbuff_t    *leftover_tvb   = tvb_new_subset_remaining(tvb, offset);
         proto_tree  *root           = NULL;
 
         /* Correct the length of the beacon tree. */
index bb363b4d126549333cf21b2bbdfeffcc66c154d9..cf3f5a815ebd96360b5c5d449658a91f364c74a5 100644 (file)
@@ -619,7 +619,7 @@ dissect_zbee_secure(tvbuff_t *tvb, packet_info *pinfo, proto_tree* tree, guint o
         (packet.level == ZBEE_SEC_MIC128)) {
 
         /* Payload is only integrity protected. Just return the sub-tvbuff. */
-        return tvb_new_subset(tvb, offset, payload_len, payload_len);
+        return tvb_new_subset_length(tvb, offset, payload_len);
     }
 
 #ifdef HAVE_LIBGCRYPT
index 1a20f219b70cac36d06069728630694b40c179a5..c877d4db1566326c8bfb7cd555b22d6ad6d4255d 100644 (file)
@@ -2483,7 +2483,7 @@ static void zcl_dump_data(tvbuff_t *tvb, guint offset, packet_info *pinfo, proto
     tvbuff_t   *remainder;
 
     if (length > 0) {
-        remainder = tvb_new_subset(tvb, offset, length, length);
+        remainder = tvb_new_subset_remaining(tvb, offset);
         call_dissector(data_handle, remainder, pinfo, root);
     }
 
index e3d64cfb038b322011d43fd3565863fc80e76665..2dab6aa99ffe133b29cd6a7e9b9b60a05ddd8e35 100644 (file)
@@ -385,7 +385,7 @@ zdp_dump_excess(tvbuff_t *tvb, guint offset, packet_info *pinfo, proto_tree *tre
     tvbuff_t    *excess;
 
     if (length > 0) {
-        excess = tvb_new_subset(tvb, offset, length, length);
+        excess = tvb_new_subset_remaining(tvb, offset);
         call_dissector(data_handle, excess, pinfo, root);
     }
 } /* zdp_dump_excess */
index 7181e3f461ff0d325fe589aace487cc95991c3d2..1e41eb1555d21fea6dd925db875e5a9c7067c9f0 100644 (file)
@@ -240,7 +240,7 @@ static void dissect_zep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
     /*  Call the IEEE 802.15.4 dissector */
     if (!((zep_data.version>=2) && (zep_data.type==ZEP_V2_TYPE_ACK))) {
-        next_tvb = tvb_new_subset(tvb, zep_header_len, ieee_packet_len, ieee_packet_len);
+        next_tvb = tvb_new_subset_length(tvb, zep_header_len, ieee_packet_len);
         call_dissector(next_dissector, next_tvb, pinfo, tree);
     }
 } /* dissect_ieee802_15_4 */
index 3d1e3daeea066a2c2189946e161d4fbfb9639585..8347b3cb7640c4c877cba5a046aba24941a66f2b 100644 (file)
@@ -190,7 +190,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
                                  "5 CM Identification");
           cmid_tree =
             proto_item_add_subtree (cmid_it, ett_docsis_bpkmattr_cmid);
-          cmid_tvb = tvb_new_subset (tvb, pos, length, length);
+          cmid_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (cmid_tvb, pinfo, cmid_tree);
           break;
         case BPKM_DISPLAY_STR:
@@ -244,7 +244,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
             proto_tree_add_text (tree, tvb, pos, length, "13 TEK Parameters");
           tekp_tree =
             proto_item_add_subtree (tekp_it, ett_docsis_bpkmattr_tekp);
-          tekp_tvb = tvb_new_subset (tvb, pos, length, length);
+          tekp_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (tekp_tvb, pinfo, tekp_tree);
           break;
         case BPKM_OBSOLETED:
@@ -277,7 +277,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
                                  "19 Security Capabilities");
           scap_tree =
             proto_item_add_subtree (scap_it, ett_docsis_bpkmattr_scap);
-          scap_tvb = tvb_new_subset (tvb, pos, length, length);
+          scap_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (scap_tvb, pinfo, scap_tree);
           break;
         case BPKM_CRYPTO_SUITE:
@@ -303,7 +303,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
             proto_tree_add_text (tree, tvb, pos, length, "23 SA Descriptor");
           sadsc_tree =
             proto_item_add_subtree (sadsc_it, ett_docsis_bpkmattr_sadsc);
-          sadsc_tvb = tvb_new_subset (tvb, pos, length, length);
+          sadsc_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (sadsc_tvb, pinfo, sadsc_tree);
           break;
         case BPKM_SA_TYPE:
@@ -318,7 +318,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
             proto_tree_add_text (tree, tvb, pos, length, "25 SA Query");
           saqry_tree =
             proto_item_add_subtree (saqry_it, ett_docsis_bpkmattr_saqry);
-          saqry_tvb = tvb_new_subset (tvb, pos, length, length);
+          saqry_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (saqry_tvb, pinfo, saqry_tree);
           break;
         case BPKM_SA_QUERY_TYPE:
@@ -345,7 +345,7 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
                                  "28 Download Parameters");
           dnld_tree =
             proto_item_add_subtree (dnld_it, ett_docsis_bpkmattr_dnld);
-          dnld_tvb = tvb_new_subset (tvb, pos, length, length);
+          dnld_tvb = tvb_new_subset_length (tvb, pos, length);
           dissect_attrs (dnld_tvb, pinfo, dnld_tree);
           break;
         default:
index fa0c64a6be3f0db839c8f97b2dbebef861ce0cc4..8537ffbb5a55fbef7ec7a2e757296d125ab7f3df 100644 (file)
@@ -196,7 +196,7 @@ dissect_macmgmt (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
   /* sub-dissectors are based on the type field */
   type = tvb_get_guint8 (tvb, 18);
   msg_len = tvb_get_ntohs (tvb, 12);
-  payload_tvb = tvb_new_subset (tvb, 20, msg_len - 6, msg_len - 6);
+  payload_tvb = tvb_new_subset_length (tvb, 20, msg_len - 6);
 
   if (dissector_try_uint
       (docsis_mgmt_dissector_table, type, payload_tvb, pinfo, tree))
index 7b76acaf7922fdc4fd978d672b1b9bb546c92b77..e98f1ab5115e04f7fa681d13303281755484e2b0 100644 (file)
@@ -2979,7 +2979,7 @@ dissect_tcc(tvbuff_t * tvb, packet_info * pinfo _U_,
             }
           break;
         case TLV_TCC_UCD:
-          ucd_tvb = tvb_new_subset (tvb, pos, length, length);
+          ucd_tvb = tvb_new_subset_length (tvb, pos, length);
           call_dissector (docsis_ucd_handle, ucd_tvb, pinfo, tcc_tree);
           break;
         case TLV_TCC_RNG_SID:
@@ -3270,7 +3270,7 @@ dissect_rcp(tvbuff_t * tvb, packet_info * pinfo _U_,
           dissect_rcp_rcv_ch(tvb, rcp_tree, pos, length);
           break;
         case TLV_RCP_VEN_SPEC:
-          vsif_tvb = tvb_new_subset (tvb, pos, length, length);
+          vsif_tvb = tvb_new_subset_length (tvb, pos, length);
           call_dissector (docsis_vsif_handle, vsif_tvb, pinfo, rcp_tree);
           break;
         }                       /* switch */
@@ -3510,7 +3510,7 @@ dissect_rcc(tvbuff_t * tvb, packet_info * pinfo _U_,
           dissect_rcc_rcv_ch(tvb, rcc_tree, pos, length);
           break;
         case TLV_RCP_VEN_SPEC:
-          vsif_tvb = tvb_new_subset (tvb, pos, length, length);
+          vsif_tvb = tvb_new_subset_length (tvb, pos, length);
           call_dissector (docsis_vsif_handle, vsif_tvb, pinfo, rcc_tree);
           break;
         case TLV_RCC_ERR:
@@ -4213,7 +4213,7 @@ dissect_tlv (tvbuff_t * tvb, packet_info * pinfo _U_, proto_tree * tree)
               }
             break;
           case TLV_VENDOR_SPEC:
-            vsif_tvb = tvb_new_subset (tvb, pos, length, length);
+            vsif_tvb = tvb_new_subset_length (tvb, pos, length);
             call_dissector (docsis_vsif_handle, vsif_tvb, pinfo, tlv_tree);
             break;
           case TLV_DUT_FILTER:
index a0c93594f46b72f626789bb7cd50d51bef16684e..24e18cdf1e28dee8bdd5dee54ea9ee6fc1db87a0 100644 (file)
@@ -1083,7 +1083,7 @@ static void dissect_ecat_eoe(tvbuff_t *tvb, gint offset, packet_info *pinfo, pro
 
             if ( eoe.anEoeHeaderDataUnion.v.Fragment == 0 )
             {
-               next_tvb = tvb_new_subset(tvb, offset, eoe_length-offset, eoe_length-offset);
+               next_tvb = tvb_new_subset_length(tvb, offset, eoe_length-offset);
                call_dissector( eth_handle, next_tvb, pinfo, ecat_eoe_tree);
             }
 
@@ -1341,7 +1341,7 @@ static void dissect_ecat_mailbox(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
          else
             offset+=ETHERCAT_MBOX_HEADER_LEN;
 
-         next_tvb = tvb_new_subset (tvb, offset, hdr.Length, hdr.Length);
+         next_tvb = tvb_new_subset_length (tvb, offset, hdr.Length);
          switch ( hdr.aControlUnion.v.Type )
          {
          case ETHERCAT_MBOX_TYPE_ADS:
index 6c72034108e789a2654aef5a3ac28bd94d27b698..c8754818b335bc089a5e9c5d7e0ee42777529cfe 100644 (file)
@@ -293,10 +293,10 @@ dissect_esl_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
         {
             if ( eth_withoutfcs_handle != NULL )
             {
-                next_tvb = tvb_new_subset(tvb, 0, esl_length-SIZEOF_ESLHEADER, esl_length-SIZEOF_ESLHEADER);
+                next_tvb = tvb_new_subset_length(tvb, 0, esl_length-SIZEOF_ESLHEADER);
                 call_dissector(eth_withoutfcs_handle, next_tvb, pinfo, tree);
             }
-            next_tvb = tvb_new_subset(tvb, esl_length-SIZEOF_ESLHEADER, SIZEOF_ESLHEADER, SIZEOF_ESLHEADER);
+            next_tvb = tvb_new_subset_length(tvb, esl_length-SIZEOF_ESLHEADER, SIZEOF_ESLHEADER);
             dissect_esl_header(next_tvb, pinfo, tree);
             modify_times(tvb, esl_length-SIZEOF_ESLHEADER, pinfo);
 
index 2c55934a24c6f7bc9b23195f40c1022a7a35c8a0..db945f37814b56a6df1ad746619e356ac51f799f 100644 (file)
@@ -806,7 +806,7 @@ static void dissect_ecat_datagram(tvbuff_t *tvb, packet_info *pinfo, proto_tree
       {
          const guint MBoxLength = mbox.Length + 6 /* MBOX header length */;
 
-         next_tvb = tvb_new_subset(tvb, suboffset, MBoxLength, MBoxLength);
+         next_tvb = tvb_new_subset_length(tvb, suboffset, MBoxLength);
          call_dissector(ecat_mailbox_handle, next_tvb, pinfo, ecat_datagram_tree);
 
          if( tree )
index eaea3751d15035c51af8d334badcc447ded22849..be0df39ffdcb1184138ec53c1778cf5590cf6395 100644 (file)
@@ -1638,7 +1638,7 @@ cmd_addresp(tvbuff_t *tvb, int offset, proto_tree *pt)
         length = msglen + 3 - (msglen + 3) % 4;
         item = proto_tree_add_text(pt, tvb, offset, length, "Response block %d", i);
         tree = proto_item_add_subtree (item, ett_gryphon_cmd_response_block);
-        next_tvb = tvb_new_subset(tvb, offset, msglen, msglen);
+        next_tvb = tvb_new_subset_length(tvb, offset, msglen);
         dissect_gryphon_message(next_tvb, NULL, tree, TRUE);
         offset += length;
     }
index 0b6f827e87b24758785aa452a4b1a1b94dd55fe4..b89e9b2cab76586018e1c0ba1d6e7dac015fc09d 100644 (file)
@@ -199,7 +199,7 @@ static void dissect_cooked_ircomm(tvbuff_t* tvb, packet_info* pinfo, proto_tree*
         proto_tree_add_item(ctrl_tree, hf_control_len, tvb, offset, 1, ENC_BIG_ENDIAN);
         offset++;
         {
-            tvbuff_t *cvalue = tvb_new_subset(tvb, offset, clen, clen);
+            tvbuff_t *cvalue = tvb_new_subset_length(tvb, offset, clen);
             call_dissector(data_handle, cvalue, pinfo, ctrl_tree);
             offset += clen;
         }
index 7f1bcb72afe602b462650b0fec068775b14dc2dc..e91a28886737debb660e18636e5144cbce33dfa0 100644 (file)
@@ -118,7 +118,7 @@ checksum_data(tvbuff_t *tvb, proto_tree *tree)
                                        actual_fcs, calculated_fcs);
                }
        }
-       return tvb_new_subset(tvb, 0, len, len);
+       return tvb_new_subset_length(tvb, 0, len);
 }
 
 
index 5293e084c10c7d9fef02642811eb087ff66d0a8d..ec90e789e89bb6cc33f4c4741614f4cbb6836ae4 100644 (file)
@@ -411,7 +411,7 @@ static void fch_burst_decoder(proto_tree *tree, tvbuff_t *tvb, gint offset, gint
 {
        if(wimax_fch_burst_handle)
        {       /* call FCH dissector */
-               call_dissector(wimax_fch_burst_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+               call_dissector(wimax_fch_burst_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
        }
        else    /* display FCH info */
        {       /* update the info column */
@@ -424,7 +424,7 @@ static void cdma_code_decoder(proto_tree *tree, tvbuff_t *tvb, gint offset, gint
 {
        if(wimax_cdma_code_burst_handle)
        {       /* call CDMA dissector */
-               call_dissector(wimax_cdma_code_burst_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+               call_dissector(wimax_cdma_code_burst_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
        }
        else    /* display CDMA Code Attribute info */
        {       /* update the info column */
@@ -453,7 +453,7 @@ static void pdu_burst_decoder(proto_tree *tree, tvbuff_t *tvb, gint offset, gint
        }
        if(frag_type == TLV_NO_FRAG)
        {       /* not fragmented PDU */
-               pdu_tvb =  tvb_new_subset(tvb, offset, length, length);
+               pdu_tvb =  tvb_new_subset_length(tvb, offset, length);
        }
        else    /* fragmented PDU */
        {       /* add the fragment */
@@ -493,7 +493,7 @@ static void fast_feedback_burst_decoder(proto_tree *tree, tvbuff_t *tvb, gint of
 {
        if(wimax_ffb_burst_handle)
        {       /* display the TLV Fast Feedback Burst dissector info */
-               call_dissector(wimax_ffb_burst_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+               call_dissector(wimax_ffb_burst_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
        }
        else    /* display the Fast Feedback Burst info */
        {       /* update the info column */
@@ -505,7 +505,7 @@ static void harq_ack_bursts_decoder(proto_tree *tree, tvbuff_t *tvb, gint offset
 {
        if(wimax_hack_burst_handle)
        {       /* call the TLV HARQ ACK Bursts dissector */
-               call_dissector(wimax_hack_burst_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+               call_dissector(wimax_hack_burst_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
        }
        else    /* display the TLV HARQ ACK Bursts info */
        {       /* update the info column */
@@ -517,7 +517,7 @@ static void physical_attributes_decoder(proto_tree *tree, tvbuff_t *tvb, gint of
 {
        if(wimax_phy_attributes_burst_handle)
        {       /* call the TLV PDU Burst Physical Attributes dissector */
-               call_dissector(wimax_phy_attributes_burst_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+               call_dissector(wimax_phy_attributes_burst_handle, tvb_new_subset_length(tvb, offset, length), pinfo, tree);
        }
        else    /* display the TLV PDU Burst Physical Attributes info */
        {       /* update the info column */
index 945a4ca0cac3ea111cd9199b1dfad8e3b0aaba99..40979b0ad0a11f3f5dbc0d49874f0ae299318de9 100644 (file)
@@ -4286,7 +4286,7 @@ dissect_PDPortData_Adjust_block(tvbuff_t *tvb, int offset,
 
     u16BodyLength -= 6;
 
-    new_tvb = tvb_new_subset(tvb, offset, u16BodyLength, u16BodyLength);
+    new_tvb = tvb_new_subset_length(tvb, offset, u16BodyLength);
     dissect_blocks(new_tvb, 0, pinfo, tree, drep);
     offset += u16BodyLength;
 
@@ -4326,7 +4326,7 @@ dissect_PDPortData_Check_block(tvbuff_t *tvb, int offset,
 
     u16BodyLength -= 6;
 
-    new_tvb = tvb_new_subset(tvb, offset, u16BodyLength, u16BodyLength);
+    new_tvb = tvb_new_subset_length(tvb, offset, u16BodyLength);
     dissect_blocks(new_tvb, 0, pinfo, tree, drep);
     offset += u16BodyLength;
 
@@ -6787,7 +6787,7 @@ dissect_PDInterfaceFSUDataAdjust_block(tvbuff_t *tvb, int offset,
     u16BodyLength -= 2;
 
     /* sub blocks */
-    new_tvb = tvb_new_subset(tvb, offset, u16BodyLength, u16BodyLength);
+    new_tvb = tvb_new_subset_length(tvb, offset, u16BodyLength);
     dissect_blocks(new_tvb, 0, pinfo, tree, drep);
     offset += u16BodyLength;
 
@@ -6816,7 +6816,7 @@ dissect_ARFSUDataAdjust_block(tvbuff_t *tvb, int offset,
     u16BodyLength -= 2;
 
     /* sub blocks */
-    new_tvb = tvb_new_subset(tvb, offset, u16BodyLength, u16BodyLength);
+    new_tvb = tvb_new_subset_length(tvb, offset, u16BodyLength);
     dissect_blocks(new_tvb, 0, pinfo, tree, drep);
     offset += u16BodyLength;
 
@@ -8047,7 +8047,7 @@ dissect_MultipleBlockHeader_block(tvbuff_t *tvb, int offset,
     proto_item_append_text(item, ": Api:0x%x Slot:%u Subslot:0x%x",
         u32Api, u16SlotNr, u16SubslotNr);
 
-    new_tvb = tvb_new_subset(tvb, offset, u16BodyLength-10, u16BodyLength-10);
+    new_tvb = tvb_new_subset_length(tvb, offset, u16BodyLength-10);
     offset = dissect_blocks(new_tvb, 0, pinfo, tree, drep);
 
     /*offset += u16BodyLength;*/
@@ -9156,7 +9156,7 @@ dissect_IODWriteReq(tvbuff_t *tvb, int offset,
             offset = dissect_IODWriteReq(tvb, offset, pinfo, tree, drep, ar);
         }
     } else {
-        tvbuff_t *new_tvb = tvb_new_subset(tvb, offset, u32RecDataLen, u32RecDataLen);
+        tvbuff_t *new_tvb = tvb_new_subset_length(tvb, offset, u32RecDataLen);
         /* RecordDataWrite */
         offset += dissect_RecordDataWrite(new_tvb, 0, pinfo, tree, drep, u16Index, u32RecDataLen);
 
index a93a4ce2ea694e19e340d585389476352a59e1d5..e5189fdba5ae75e490c107402a810ffe9b22fdd9 100644 (file)
@@ -804,7 +804,7 @@ dissect_pn_rt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
     pinfo->private_data = GUINT_TO_POINTER( (guint32) u16FrameID);
 
     /* get frame user data tvb (without header and footer) */
-    next_tvb = tvb_new_subset(tvb, 2, data_len, data_len);
+    next_tvb = tvb_new_subset_length(tvb, 2, data_len);
 
     /* ask heuristics, if some sub-dissector is interested in this packet payload */
     if (!dissector_try_heuristic(heur_subdissector_list, next_tvb, pinfo, tree, &hdtbl_entry, NULL)) {