How can I get a new tvbuff that starts at an offset within a given
tvbuff and runs to the end of the tvbuff? Let me count the ways.... Replace a bunch of different ways of doing that (some incorrect, in that they're not properly handling tvbuffs where the captured and reported lengths are different) with tvb_new_subset_remaining(). svn path=/trunk/; revision=47751
This commit is contained in:
parent
5a5d872639
commit
29715ccc8f
|
@ -907,7 +907,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_
|
|||
if (len2 <= 0)
|
||||
return offset;
|
||||
buffer = (guchar *)tvb_memdup(tvb, offset, len2);
|
||||
epsem_buffer = tvb_new_subset(tvb, offset, -1, -1);
|
||||
epsem_buffer = tvb_new_subset_remaining(tvb, offset);
|
||||
if (c1222_decrypt) {
|
||||
if (!decrypt_packet(buffer, len2, FALSE)) {
|
||||
#ifdef HAVE_LIBGCRYPT
|
||||
|
@ -923,7 +923,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_
|
|||
break;
|
||||
default:
|
||||
/* it's not encrypted */
|
||||
epsem_buffer = tvb_new_subset(tvb, offset, -1, -1);
|
||||
epsem_buffer = tvb_new_subset_remaining(tvb, offset);
|
||||
}
|
||||
/* it's only encrypted if we have an undecrypted payload */
|
||||
if (encrypted) {
|
||||
|
|
|
@ -967,7 +967,7 @@ one_more_pdu:
|
|||
* same blob
|
||||
*/
|
||||
if(tvb_length_remaining(tvb, offset)>=6){
|
||||
tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1);
|
||||
tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
offset = 0;
|
||||
|
||||
goto one_more_pdu;
|
||||
|
|
|
@ -145,7 +145,7 @@ NameData TYPE = FT_STRING DISPLAY = BASE_NONE
|
|||
#.FN_BODY Extension/extensionArgument
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
|
||||
proto_item *item=NULL;
|
||||
proto_tree *next_tree=NULL;
|
||||
|
|
|
@ -207,7 +207,7 @@ call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *p
|
|||
{
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
if(!ros_try_string(oid, next_tvb, pinfo, tree) &&
|
||||
!dissector_try_string(ros_oid_dissector_table, oid, next_tvb, pinfo, tree)){
|
||||
|
|
|
@ -145,7 +145,7 @@ call_rtse_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *
|
|||
{
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if(!dissector_try_string(rtse_oid_dissector_table, oid, next_tvb, pinfo, tree)){
|
||||
proto_item *item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "RTSE: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid);
|
||||
proto_tree *next_tree=proto_item_add_subtree(item, ett_rtse_unknown);
|
||||
|
|
|
@ -303,7 +303,7 @@ dissect_ax25_kiss( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree )
|
|||
if ( kiss_type == KISS_DATA_FRAME )
|
||||
{
|
||||
saved_private_data = pinfo->private_data;
|
||||
next_tvb = tvb_new_subset( tvb, offset, -1, -1 );
|
||||
next_tvb = tvb_new_subset_remaining( tvb, offset );
|
||||
call_dissector( ax25_handle, next_tvb, pinfo, parent_tree );
|
||||
pinfo->private_data = saved_private_data;
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@ dissect_ax25_nol3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree )
|
|||
ax25_nol3_tree = proto_item_add_subtree( ti, ett_ax25_nol3 );
|
||||
|
||||
saved_private_data = pinfo->private_data;
|
||||
next_tvb = tvb_new_subset(tvb, offset, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
dissected = FALSE;
|
||||
if ( gPREF_APRS )
|
||||
|
|
|
@ -99,7 +99,7 @@ dissect_bpq( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree )
|
|||
|
||||
saved_private_data = pinfo->private_data;
|
||||
/* XXX - use the length */
|
||||
next_tvb = tvb_new_subset( tvb, offset, -1, -1 );
|
||||
next_tvb = tvb_new_subset_remaining( tvb, offset );
|
||||
call_dissector( ax25_handle, next_tvb, pinfo, parent_tree );
|
||||
pinfo->private_data = saved_private_data;
|
||||
}
|
||||
|
|
|
@ -1039,10 +1039,10 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
get_sep_type(pinfo->fd->num, cid_type_data->sep->seid));
|
||||
|
||||
if (cid_type_data->sep->media_type == MEDIA_TYPE_AUDIO) {
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_with_data(bta2dp_handle, next_tvb, pinfo, tree, &cid_type_data->sep->codec);
|
||||
} else if (cid_type_data->sep->media_type == MEDIA_TYPE_VIDEO) {
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_with_data(btvdp_handle, next_tvb, pinfo, tree, &cid_type_data->sep->codec);
|
||||
} else {
|
||||
ti = proto_tree_add_item(tree, proto_btavdtp, tvb, offset, -1, ENC_NA);
|
||||
|
|
|
@ -373,9 +373,7 @@ dissect_btbnep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
ethertype(type, tvb, offset, pinfo, tree, btbnep_tree,
|
||||
hf_btbnep_type, 0, 0);
|
||||
} else {
|
||||
next_tvb = tvb_new_subset(tvb, offset,
|
||||
tvb_length_remaining(tvb, offset),
|
||||
tvb_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector(data_handle, next_tvb, pinfo, tree);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1325,7 +1325,7 @@ dissect_bthci_evt_loopback_command(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
{
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if(bthci_com_handle){
|
||||
call_dissector(bthci_com_handle, next_tvb, pinfo, tree);
|
||||
}
|
||||
|
|
|
@ -952,7 +952,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_
|
|||
if (len2 <= 0)
|
||||
return offset;
|
||||
buffer = (guchar *)tvb_memdup(tvb, offset, len2);
|
||||
epsem_buffer = tvb_new_subset(tvb, offset, -1, -1);
|
||||
epsem_buffer = tvb_new_subset_remaining(tvb, offset);
|
||||
if (c1222_decrypt) {
|
||||
if (!decrypt_packet(buffer, len2, FALSE)) {
|
||||
#ifdef HAVE_LIBGCRYPT
|
||||
|
@ -968,7 +968,7 @@ dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_
|
|||
break;
|
||||
default:
|
||||
/* it's not encrypted */
|
||||
epsem_buffer = tvb_new_subset(tvb, offset, -1, -1);
|
||||
epsem_buffer = tvb_new_subset_remaining(tvb, offset);
|
||||
}
|
||||
/* it's only encrypted if we have an undecrypted payload */
|
||||
if (encrypted) {
|
||||
|
|
|
@ -826,7 +826,7 @@ static void dissect_rlc_umts(tvbuff_t *tvb, gint offset,
|
|||
|
||||
/* Call UMTS RLC dissector */
|
||||
if (rlc_umts_handle != 0) {
|
||||
rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
rlc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_only(rlc_umts_handle, rlc_tvb, pinfo, tree, NULL);
|
||||
}
|
||||
}
|
||||
|
@ -1025,7 +1025,7 @@ static void dissect_rrc_lte(tvbuff_t *tvb, gint offset,
|
|||
|
||||
/* Send to RRC dissector, if got here, have sub-dissector and some data left */
|
||||
if ((protocol_handle != NULL) && (tvb_length_remaining(tvb, offset) > 0)) {
|
||||
rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
rrc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_only(protocol_handle, rrc_tvb, pinfo, tree, NULL);
|
||||
}
|
||||
}
|
||||
|
@ -1283,7 +1283,7 @@ static void dissect_pdcp_lte(tvbuff_t *tvb, gint offset,
|
|||
/* Should be at data tag now */
|
||||
|
||||
/* Call PDCP LTE dissector */
|
||||
pdcp_lte_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
pdcp_lte_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_only(pdcp_lte_handle, pdcp_lte_tvb, pinfo, tree, NULL);
|
||||
|
||||
break;
|
||||
|
@ -2823,7 +2823,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
/* Try appropriate dissector, if one has been selected */
|
||||
if (protocol_handle != 0) {
|
||||
/* Dissect the remainder of the frame using chosen protocol handle */
|
||||
next_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
sub_dissector_result = call_dissector_only(protocol_handle, next_tvb, pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -865,10 +865,7 @@ gint parseFields(tvbuff_t *tvb, proto_tree *tree, gint offset, DIS_ParserNode pa
|
|||
break;
|
||||
|
||||
case DIS_FIELDTYPE_RADIO_DATA:
|
||||
newtvb = tvb_new_subset(tvb, offset,
|
||||
tvb_length_remaining(tvb, offset),
|
||||
tvb_reported_length_remaining(tvb, offset)
|
||||
);
|
||||
newtvb = tvb_new_subset_remaining(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_dis_signal_data, newtvb, 0, -1, ENC_NA );
|
||||
/* ****ck******* need to look for padding bytes */
|
||||
break;
|
||||
|
@ -1029,10 +1026,7 @@ gint parseFields(tvbuff_t *tvb, proto_tree *tree, gint offset, DIS_ParserNode pa
|
|||
break;
|
||||
case DIS_FIELDTYPE_ANTENNA_PATTERN_PARAMETERS:
|
||||
/* just dump the bytes for now. Need to do finish */
|
||||
newtvb = tvb_new_subset(tvb, offset,
|
||||
tvb_length_remaining(tvb, offset),
|
||||
tvb_reported_length_remaining(tvb, offset)
|
||||
);
|
||||
newtvb = tvb_new_subset_remaining(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_dis_antenna_pattern_parameter_dump, newtvb, 0, -1, ENC_NA );
|
||||
break;
|
||||
|
||||
|
|
|
@ -2530,7 +2530,7 @@ dissect_eigrp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
|||
switch (opcode) {
|
||||
case EIGRP_OPC_IPXSAP:
|
||||
call_dissector(ipxsap_handle,
|
||||
tvb_new_subset(tvb, EIGRP_HEADER_LENGTH, -1, -1), pinfo,
|
||||
tvb_new_subset_remaining(tvb, EIGRP_HEADER_LENGTH), pinfo,
|
||||
eigrp_tree);
|
||||
break;
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ dissect_flexnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
|
|||
/* Call sub-dissectors here */
|
||||
|
||||
saved_private_data = pinfo->private_data;
|
||||
next_tvb = tvb_new_subset(tvb, FLEXNET_HDRLEN, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, FLEXNET_HDRLEN);
|
||||
|
||||
call_dissector( default_handle , next_tvb, pinfo, parent_tree );
|
||||
|
||||
|
|
|
@ -528,7 +528,7 @@ static void dissect_fp_hint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
next_dissector = &data_handle;
|
||||
}
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, hdrlen, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, hdrlen);
|
||||
call_dissector(*next_dissector, next_tvb, pinfo, tree);
|
||||
}
|
||||
|
||||
|
|
|
@ -314,7 +314,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
if ((tvb_length_remaining(gss_tvb, start_offset)>16) &&
|
||||
((tvb_memeql(gss_tvb, start_offset, "\x01\x00\x00\x00", 4) == 0))) {
|
||||
return_offset = call_dissector(ntlmssp_payload_handle,
|
||||
tvb_new_subset(gss_tvb, start_offset, -1, -1),
|
||||
tvb_new_subset_remaining(gss_tvb, start_offset),
|
||||
pinfo, subtree);
|
||||
pinfo->gssapi_data_encrypted = TRUE;
|
||||
goto done;
|
||||
|
@ -323,12 +323,12 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
((tvb_memeql(gss_tvb, start_offset, "\x01\x00\x00\x00", 4) == 0))) {
|
||||
if( is_verifier ) {
|
||||
return_offset = call_dissector(ntlmssp_verf_handle,
|
||||
tvb_new_subset(gss_tvb, start_offset, -1, -1),
|
||||
tvb_new_subset_remaining(gss_tvb, start_offset),
|
||||
pinfo, subtree);
|
||||
}
|
||||
else if( pinfo->gssapi_encrypted_tvb ) {
|
||||
return_offset = call_dissector(ntlmssp_data_only_handle,
|
||||
tvb_new_subset(pinfo->gssapi_encrypted_tvb, 0, -1, -1),
|
||||
tvb_new_subset_remaining(pinfo->gssapi_encrypted_tvb, 0),
|
||||
pinfo, subtree);
|
||||
pinfo->gssapi_data_encrypted = TRUE;
|
||||
}
|
||||
|
|
|
@ -129,7 +129,7 @@ dissect_gvrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
proto_tree_add_text(gvrp_tree, tvb, GARP_PROTOCOL_ID, (int)sizeof(guint16),
|
||||
" (Warning: this version of Wireshark only knows about protocol id = 1)");
|
||||
call_dissector(data_handle,
|
||||
tvb_new_subset(tvb, GARP_PROTOCOL_ID + (int)sizeof(guint16), -1, -1),
|
||||
tvb_new_subset_remaining(tvb, GARP_PROTOCOL_ID + (int)sizeof(guint16)),
|
||||
pinfo, tree);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -237,7 +237,7 @@ static gboolean dissect_h1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
THROW(ReportedBoundsError);
|
||||
position += tvb_get_guint8(tvb,offset + position + 1); /* Goto next section */
|
||||
} /* ..while */
|
||||
next_tvb = tvb_new_subset(tvb, offset+tvb_get_guint8(tvb,offset+2), -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset+tvb_get_guint8(tvb,offset+2));
|
||||
call_dissector(data_handle,next_tvb, pinfo, tree);
|
||||
|
||||
return TRUE;
|
||||
|
|
|
@ -119,7 +119,7 @@ dissect_hsr_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
proto_tree_add_item(hsr_tree, hf_type,
|
||||
tvb, HSR_TOTAL_LENGTH,2, ENC_BIG_ENDIAN);
|
||||
|
||||
next_tvb = tvb_new_subset (tvb, HSR_TOTAL_LENGTH + 2, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, HSR_TOTAL_LENGTH + 2);
|
||||
|
||||
etype = tvb_get_ntohs(tvb, HSR_TOTAL_LENGTH);
|
||||
|
||||
|
|
|
@ -1990,7 +1990,7 @@ dissect_ipcomp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
offsetof(struct ipcomp, comp_cpi), 2,
|
||||
g_ntohs(ipcomp.comp_cpi));
|
||||
|
||||
data = tvb_new_subset(tvb, sizeof(struct ipcomp), -1, -1);
|
||||
data = tvb_new_subset_remaining(tvb, sizeof(struct ipcomp));
|
||||
call_dissector(data_handle, data, pinfo, ipcomp_tree);
|
||||
|
||||
/*
|
||||
|
|
|
@ -694,7 +694,7 @@ ethernettap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_t
|
|||
}
|
||||
|
||||
/* Grab the rest of the frame. */
|
||||
next_tvb = tvb_new_subset(tvb, length, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, length);
|
||||
|
||||
/* dissect the ethernet header next */
|
||||
call_dissector(ethernet_handle, next_tvb, pinfo, tree);
|
||||
|
@ -945,7 +945,7 @@ wlantap_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree
|
|||
pinfo->pseudo_header->ieee_802_11.fcs_len = 0;
|
||||
|
||||
/* Grab the rest of the frame. */
|
||||
next_tvb = tvb_new_subset(tvb, length, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, length);
|
||||
|
||||
#if 0 /* XXX: 'hdr_fcs_ti' is never set so the following code will never be executed ? */
|
||||
/* If we had an in-header FCS, check it. */
|
||||
|
|
|
@ -149,7 +149,7 @@ dissect_jmirror(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
|
|||
offset += SESSION_ID_SZ;
|
||||
|
||||
/* Create a buffer pointer for the next dissector */
|
||||
next_tvb = tvb_new_subset(tvb, offset, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
/* Call the next dissector based on the heurstics and return the number of bytes dissected */
|
||||
return MIRROR_HDR_SZ + call_dissector(dissector_handle, next_tvb, pinfo, tree);
|
||||
|
|
|
@ -2150,7 +2150,7 @@ dissect_krb5_decrypt_PA_ENC_TIMESTAMP (proto_tree *tree, tvbuff_t *tvb, int offs
|
|||
if(!plaintext){
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
plaintext=decrypt_krb5_data(tree, actx->pinfo, 1, next_tvb, PA_ENC_TIMESTAMP_etype, NULL);
|
||||
}
|
||||
|
||||
|
@ -3529,7 +3529,7 @@ dissect_krb5_decrypt_PRIV (proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx
|
|||
if(!plaintext){
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
plaintext=decrypt_krb5_data(tree, actx->pinfo, 13, next_tvb, PRIV_etype, NULL);
|
||||
}
|
||||
|
||||
|
@ -3677,7 +3677,7 @@ dissect_krb5_decrypt_EncKrbCredPart (proto_tree *tree, tvbuff_t *tvb, int offset
|
|||
int length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
length=tvb_length_remaining(tvb, offset);
|
||||
|
||||
|
@ -3834,7 +3834,7 @@ dissect_krb5_decrypt_enc_authorization_data(proto_tree *tree, tvbuff_t *tvb, int
|
|||
int length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
length=tvb_length_remaining(tvb, offset);
|
||||
|
||||
|
@ -4029,7 +4029,7 @@ dissect_krb5_decrypt_authenticator_data (proto_tree *tree, tvbuff_t *tvb, int of
|
|||
int length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
length=tvb_length_remaining(tvb, offset);
|
||||
|
||||
|
@ -4118,7 +4118,7 @@ dissect_krb5_decrypt_Ticket_data (proto_tree *tree, tvbuff_t *tvb, int offset, a
|
|||
int length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
length=tvb_length_remaining(tvb, offset);
|
||||
|
||||
|
@ -4259,7 +4259,7 @@ dissect_krb5_decrypt_AP_REP_data(proto_tree *tree, tvbuff_t *tvb, int offset, as
|
|||
if(!plaintext){
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
plaintext=decrypt_krb5_data(tree, actx->pinfo, 12, next_tvb, AP_REP_etype, NULL);
|
||||
}
|
||||
|
||||
|
@ -4358,7 +4358,7 @@ dissect_krb5_decrypt_KDC_REP_data (proto_tree *tree, tvbuff_t *tvb, int offset,
|
|||
int length;
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb=tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb=tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
length=tvb_length_remaining(tvb, offset);
|
||||
|
||||
|
@ -5433,9 +5433,7 @@ static int wrap_dissect_gss_kerb(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
{
|
||||
tvbuff_t *auth_tvb;
|
||||
|
||||
auth_tvb = tvb_new_subset(
|
||||
tvb, offset, tvb_length_remaining(tvb, offset),
|
||||
tvb_reported_length_remaining(tvb, offset));
|
||||
auth_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
dissect_kerberos_main(auth_tvb, pinfo, tree, FALSE, NULL);
|
||||
|
||||
|
|
|
@ -3930,7 +3930,7 @@ one_more_pdu:
|
|||
* same blob
|
||||
*/
|
||||
if(tvb_length_remaining(tvb, offset)>=6){
|
||||
tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), -1);
|
||||
tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
offset = 0;
|
||||
|
||||
goto one_more_pdu;
|
||||
|
|
|
@ -85,7 +85,7 @@ static void dissect_mac_lte_framed(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* OK, now dissect as MAC LTE */
|
||||
|
||||
/* Create tvb that starts at actual MAC PDU */
|
||||
mac_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
mac_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector_only(mac_lte_handle, mac_tvb, pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -1291,7 +1291,7 @@ static gboolean dissect_mac_lte_heur(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* OK, now dissect as MAC LTE */
|
||||
|
||||
/* Create tvb that starts at actual MAC PDU */
|
||||
mac_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
mac_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
dissect_mac_lte(mac_tvb, pinfo, tree);
|
||||
|
||||
return TRUE;
|
||||
|
@ -1791,7 +1791,7 @@ static void dissect_bch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
if (global_mac_lte_attempt_rrc_decode) {
|
||||
/* Attempt to decode payload using LTE RRC dissector */
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
/* Get appropriate dissector handle */
|
||||
dissector_handle_t protocol_handle = 0;
|
||||
|
@ -1836,7 +1836,7 @@ static void dissect_pch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
if (global_mac_lte_attempt_rrc_decode) {
|
||||
|
||||
/* Attempt to decode payload using LTE RRC dissector */
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
/* Get appropriate dissector handle */
|
||||
dissector_handle_t protocol_handle = find_dissector("lte_rrc.pcch");
|
||||
|
|
|
@ -516,7 +516,7 @@ dissect_dsmcc_ddb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
proto_tree_add_item(tree, hf_dsmcc_ddb_block_number, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
sub_tvb = tvb_new_subset(tvb, offset, -1, -1);
|
||||
sub_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector(data_handle, sub_tvb, pinfo, top_tree);
|
||||
}
|
||||
|
||||
|
|
|
@ -315,7 +315,7 @@ dissect_netanalyzer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
if (dissect_netanalyzer_common(tvb, pinfo, tree))
|
||||
{
|
||||
/* hand off to eth dissector with the new tvb subset */
|
||||
next_tvb = tvb_new_subset(tvb, 4, tvb_length(tvb)-4, tvb_reported_length(tvb)-4);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 4);
|
||||
call_dissector(eth_dissector_handle, next_tvb, pinfo, tree);
|
||||
}
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ dissect_netanalyzer_transparent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
|
|||
* use data dissector instead */
|
||||
ti = proto_tree_add_text(tree, tvb, 4, tvb_length(tvb)-4, "Raw packet data");
|
||||
transparent_payload_tree = proto_item_add_subtree(ti, ett_netanalyzer_transparent);
|
||||
next_tvb = tvb_new_subset(tvb, 4, tvb_length(tvb)-4, tvb_reported_length(tvb)-4);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 4);
|
||||
call_dissector(data_dissector_handle, next_tvb, pinfo, transparent_payload_tree);
|
||||
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "netANALYZER");
|
||||
|
|
|
@ -449,7 +449,7 @@ dissect_netrom_proto(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
/* Call sub-dissectors here */
|
||||
|
||||
saved_private_data = pinfo->private_data;
|
||||
next_tvb = tvb_new_subset(tvb, offset, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
switch ( op_code )
|
||||
{
|
||||
|
@ -493,7 +493,7 @@ dissect_netrom_routing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
}
|
||||
|
||||
saved_private_data = pinfo->private_data;
|
||||
next_tvb = tvb_new_subset(tvb, 7, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 7);
|
||||
|
||||
call_dissector( default_handle , next_tvb, pinfo, tree );
|
||||
|
||||
|
|
|
@ -212,7 +212,7 @@ dissect_nstrace(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
|
||||
/* Dissect as Ethernet */
|
||||
offset = pnstr->eth_offset;
|
||||
next_tvb_eth_client = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb_eth_client = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector(eth_withoutfcs_handle, next_tvb_eth_client, pinfo, tree);
|
||||
}
|
||||
|
||||
|
|
|
@ -2527,9 +2527,7 @@ wrap_dissect_ntlmssp_payload_only(tvbuff_t *tvb, tvbuff_t *auth_tvb _U_,
|
|||
{
|
||||
tvbuff_t *data_tvb;
|
||||
|
||||
data_tvb = tvb_new_subset(
|
||||
tvb, offset, tvb_length_remaining(tvb, offset),
|
||||
tvb_length_remaining(tvb, offset));
|
||||
data_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
dissect_ntlmssp_payload_only(data_tvb, pinfo, NULL, NULL);
|
||||
return pinfo->gssapi_decrypted_tvb;
|
||||
}
|
||||
|
@ -2678,9 +2676,7 @@ wrap_dissect_ntlmssp(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
{
|
||||
tvbuff_t *auth_tvb;
|
||||
|
||||
auth_tvb = tvb_new_subset(
|
||||
tvb, offset, tvb_length_remaining(tvb, offset),
|
||||
tvb_length_remaining(tvb, offset));
|
||||
auth_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
dissect_ntlmssp(auth_tvb, pinfo, tree);
|
||||
|
||||
|
@ -2693,9 +2689,7 @@ wrap_dissect_ntlmssp_verf(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
{
|
||||
tvbuff_t *auth_tvb;
|
||||
|
||||
auth_tvb = tvb_new_subset(
|
||||
tvb, offset, tvb_length_remaining(tvb, offset),
|
||||
tvb_length_remaining(tvb, offset));
|
||||
auth_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
return dissect_ntlmssp_verf(auth_tvb, pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -968,7 +968,7 @@ static gboolean dissect_pdcp_lte_heur(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* OK, now dissect as PDCP LTE */
|
||||
|
||||
/* Create tvb that starts at actual PDCP PDU */
|
||||
pdcp_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
pdcp_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
dissect_pdcp_lte(pdcp_tvb, pinfo, tree);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -2073,7 +2073,7 @@ dissect_qsig_T_extensionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
|
|||
#line 146 "../../asn1/qsig/qsig.cnf"
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
|
||||
proto_item *item=NULL;
|
||||
proto_tree *next_tree=NULL;
|
||||
|
|
|
@ -1918,7 +1918,7 @@ static void dissect_rlc_lte_tm(tvbuff_t *tvb, packet_info *pinfo,
|
|||
}
|
||||
|
||||
if (global_rlc_lte_call_rrc_for_ccch) {
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset(tvb, offset, -1, tvb_length_remaining(tvb, offset));
|
||||
tvbuff_t *rrc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
volatile dissector_handle_t protocol_handle = 0;
|
||||
|
||||
switch (p_rlc_lte_info->channelType) {
|
||||
|
@ -2689,7 +2689,7 @@ static gboolean dissect_rlc_lte_heur(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* OK, now dissect as RLC LTE */
|
||||
|
||||
/* Create tvb that starts at actual RLC PDU */
|
||||
rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
rlc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
dissect_rlc_lte(rlc_tvb, pinfo, tree);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -2689,7 +2689,7 @@ dissect_rlc_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
|
|||
/* OK, now dissect as RLC */
|
||||
|
||||
/* Create tvb that starts at actual RLC PDU */
|
||||
rlc_tvb = tvb_new_subset(tvb, offset, -1, tvb_reported_length(tvb)-offset);
|
||||
rlc_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
switch (channelType) {
|
||||
case UMTS_CHANNEL_TYPE_UNSPECIFIED:
|
||||
/* Call relevant dissector according to RLC mode */
|
||||
|
|
|
@ -261,7 +261,7 @@ call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *p
|
|||
{
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
if(!ros_try_string(oid, next_tvb, pinfo, tree) &&
|
||||
!dissector_try_string(ros_oid_dissector_table, oid, next_tvb, pinfo, tree)){
|
||||
|
|
|
@ -195,7 +195,7 @@ call_rtse_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *
|
|||
{
|
||||
tvbuff_t *next_tvb;
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if(!dissector_try_string(rtse_oid_dissector_table, oid, next_tvb, pinfo, tree)){
|
||||
proto_item *item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "RTSE: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid);
|
||||
proto_tree *next_tree=proto_item_add_subtree(item, ett_rtse_unknown);
|
||||
|
|
|
@ -13546,9 +13546,7 @@ dissect_sfsi_request(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
blob_tree = proto_item_add_subtree(blob_item,
|
||||
ett_smb_secblob);
|
||||
|
||||
blob_tvb = tvb_new_subset(tvb, offset,
|
||||
tvb_length_remaining(tvb,offset),
|
||||
tvb_length_remaining(tvb,offset));
|
||||
blob_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
if (tvb_strneql(blob_tvb, 0, "NTLMSSP", 7) == 0) {
|
||||
call_dissector(ntlmssp_handle, blob_tvb, pinfo, blob_tree);
|
||||
|
@ -13604,9 +13602,7 @@ dissect_sfsi_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
blob_tree = proto_item_add_subtree(blob_item,
|
||||
ett_smb_secblob);
|
||||
|
||||
blob_tvb = tvb_new_subset(tvb, offset,
|
||||
tvb_length_remaining(tvb,offset),
|
||||
tvb_length_remaining(tvb,offset));
|
||||
blob_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
if (tvb_strneql(blob_tvb, 0, "NTLMSSP", 7) == 0) {
|
||||
call_dissector(ntlmssp_handle, blob_tvb, pinfo, blob_tree);
|
||||
|
|
|
@ -4169,9 +4169,7 @@ dissect_smb2_NETWORK_INTERFACE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (next_offset) {
|
||||
tvbuff_t *next_tvb;
|
||||
next_tvb = tvb_new_subset(tvb, next_offset,
|
||||
tvb_length_remaining(tvb, next_offset),
|
||||
tvb_reported_length_remaining(tvb, next_offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, next_offset);
|
||||
|
||||
/* next extra info */
|
||||
dissect_smb2_NETWORK_INTERFACE_INFO(next_tvb, pinfo, parent_tree);
|
||||
|
@ -5298,7 +5296,7 @@ dissect_smb2_create_extra_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pa
|
|||
|
||||
if (chain_offset) {
|
||||
tvbuff_t *chain_tvb;
|
||||
chain_tvb = tvb_new_subset(tvb, chain_offset, tvb_length_remaining(tvb, chain_offset), tvb_reported_length_remaining(tvb, chain_offset));
|
||||
chain_tvb = tvb_new_subset_remaining(tvb, chain_offset);
|
||||
|
||||
/* next extra info */
|
||||
dissect_smb2_create_extra_info(chain_tvb, pinfo, parent_tree, si);
|
||||
|
|
|
@ -160,7 +160,7 @@ dissect_sync(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
|
|||
offset += 2;
|
||||
|
||||
/* XXX - The payload may not always be present? */
|
||||
next_tvb = tvb_new_subset(tvb, offset, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
/* XXX - The payload may not always be IP? */
|
||||
call_dissector(ip_handle, next_tvb, pinfo, tree);
|
||||
break;
|
||||
|
|
|
@ -3028,7 +3028,7 @@ dissect_e_dch_t2_or_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto
|
|||
/* Call MAC for this PDU if configured to */
|
||||
if (preferences_call_mac_dissectors) {
|
||||
p_add_proto_data(pinfo->fd, proto_umts_mac, mac_is_info);
|
||||
call_dissector(mac_fdd_edch_type2_handle, tvb_new_subset(tvb, offset, -1, -1), pinfo, top_level_tree);
|
||||
call_dissector(mac_fdd_edch_type2_handle, tvb_new_subset_remaining(tvb, offset), pinfo, top_level_tree);
|
||||
}
|
||||
else {
|
||||
/* Still show data if not decoding as MAC PDU */
|
||||
|
|
|
@ -406,7 +406,7 @@ static void dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
|
|||
channel_type = proto_tree_add_uint(fach_tree, hf_mac_channel, tvb, 0, 0, MAC_CCCH);
|
||||
PROTO_ITEM_SET_GENERATED(channel_type);
|
||||
/* CCCH over FACH is always octet aligned */
|
||||
next_tvb = tvb_new_subset(tvb, 1, tvb_length_remaining(tvb, 1), -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 1);
|
||||
call_dissector(rlc_ccch_handle, next_tvb, pinfo, tree);
|
||||
break;
|
||||
case TCTF_DCCH_DTCH_FACH_FDD:
|
||||
|
@ -448,7 +448,7 @@ static void dissect_mac_fdd_fach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
|
|||
channel_type = proto_tree_add_uint(fach_tree, hf_mac_channel, tvb, 0, 0, MAC_CTCH);
|
||||
PROTO_ITEM_SET_GENERATED(channel_type);
|
||||
/* CTCH over FACH is always octet aligned */
|
||||
next_tvb = tvb_new_subset(tvb, 1, tvb_length_remaining(tvb, 1), -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 1);
|
||||
call_dissector(rlc_ctch_handle, next_tvb, pinfo, tree);
|
||||
break;
|
||||
/* july 5: Added support for BCCH*/
|
||||
|
|
|
@ -2878,7 +2878,7 @@ dissect_linux_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
|
|||
break;
|
||||
}
|
||||
|
||||
next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset));
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
if (!dissector_try_uint(device_to_dissector, (guint32) (bus_id << 8 | device_address), next_tvb, pinfo, parent)) {
|
||||
emem_tree_key_t key[4];
|
||||
|
|
|
@ -1573,8 +1573,7 @@ dissect_zbee_aps_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui
|
|||
offset += 8;
|
||||
|
||||
/* The remainder is a tunneled APS frame. */
|
||||
tunnel_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset),
|
||||
tvb_reported_length_remaining(tvb, offset));
|
||||
tunnel_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if (tree) root = proto_tree_get_root(tree);
|
||||
call_dissector(zbee_aps_handle, tunnel_tvb, pinfo, root);
|
||||
offset = tvb_length(tvb);
|
||||
|
|
|
@ -403,7 +403,7 @@ static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
|||
{
|
||||
/* only show transport header */
|
||||
bParseService = FALSE;
|
||||
next_tvb = tvb_new_subset(tvb, 0, -1, -1);
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 0);
|
||||
}
|
||||
|
||||
pinfo->fragmented = bSaveFragmented;
|
||||
|
|
|
@ -2076,10 +2076,7 @@ static guint dissect_wimaxasncp_backend(
|
|||
{
|
||||
tvbuff_t *tlv_tvb;
|
||||
|
||||
tlv_tvb = tvb_new_subset(
|
||||
tvb, offset,
|
||||
tvb_length(tvb) - offset,
|
||||
tvb_length(tvb) - offset);
|
||||
tlv_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
|
||||
offset += dissect_wimaxasncp_tlvs(tlv_tvb, pinfo, tree);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue