From 7cd6906056922e4b8f68f1216d94eaa0809896fe Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Mon, 9 Jan 2017 22:18:49 -0800 Subject: Rename tvb_new_subset() to tvb_new_subset_length_caplen(). This emphasizes that there is no such thing as *the* routine to construct a subset tvbuff; you need to choose one of tvb_new_subset_remaining() (if you want a new tvbuff that contains everything past a certain point in an existing tvbuff), tvb_new_subset_length() (if you want a subset that contains everything past a certain point, for some number of bytes, in an existing tvbuff), and tvb_new_subset_length_caplen() (for all other cases). Many of the calls to tvb_new_subset_length_caplen() should really be calling one of the other routines; that's the next step. (This also makes it easier to find the calls that need fixing.) Change-Id: Ieb3d676d8cda535451c119487d7cd3b559221f2b Reviewed-on: https://code.wireshark.org/review/19597 Reviewed-by: Guy Harris --- epan/dissectors/packet-isup.c | 66 +++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'epan/dissectors/packet-isup.c') diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c index 82b26dd899..2d8af48dab 100644 --- a/epan/dissectors/packet-isup.c +++ b/epan/dissectors/packet-isup.c @@ -7979,7 +7979,7 @@ dissect_isup_optional_parameter(tvbuff_t *optional_parameters_tvb, packet_info * actual_length = tvb_reported_length_remaining(optional_parameters_tvb, offset); if (actual_length > 0) { - parameter_tvb = tvb_new_subset(optional_parameters_tvb, offset, MIN(parameter_length, actual_length), parameter_length); + parameter_tvb = tvb_new_subset_length_caplen(optional_parameters_tvb, offset, MIN(parameter_length, actual_length), parameter_length); switch (parameter_type) { case PARAM_TYPE_CALL_REF: dissect_isup_call_reference_parameter(parameter_tvb, parameter_tree, parameter_item); @@ -8336,7 +8336,7 @@ dissect_ansi_isup_optional_parameter(tvbuff_t *optional_parameters_tvb, packet_i actual_length = tvb_reported_length_remaining(optional_parameters_tvb, offset); if (actual_length > 0) { - parameter_tvb = tvb_new_subset(optional_parameters_tvb, offset, MIN(parameter_length, actual_length), parameter_length); + parameter_tvb = tvb_new_subset_length_caplen(optional_parameters_tvb, offset, MIN(parameter_length, actual_length), parameter_length); switch (parameter_type) { case PARAM_TYPE_CALL_REF: dissect_isup_call_reference_parameter(parameter_tvb, parameter_tree, parameter_item); @@ -8643,7 +8643,7 @@ dissect_ansi_isup_circuit_validation_test_resp_message(tvbuff_t *message_tvb, pr actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(CVR_RESP_IND_LENGTH, actual_length), CVR_RESP_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(CVR_RESP_IND_LENGTH, actual_length), CVR_RESP_IND_LENGTH); dissect_isup_cvr_response_ind_parameter(parameter_tvb, parameter_tree, parameter_item); offset += CVR_RESP_IND_LENGTH; @@ -8657,7 +8657,7 @@ dissect_ansi_isup_circuit_validation_test_resp_message(tvbuff_t *message_tvb, pr parameter_type, val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "Circuit Group Characters")); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(CG_CHAR_IND_LENGTH, actual_length), CG_CHAR_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(CG_CHAR_IND_LENGTH, actual_length), CG_CHAR_IND_LENGTH); dissect_isup_circuit_group_char_ind_parameter(parameter_tvb, parameter_tree, parameter_item); offset += CG_CHAR_IND_LENGTH; @@ -8682,7 +8682,7 @@ dissect_ansi_isup_circuit_reservation_message(tvbuff_t *message_tvb, proto_tree "Nature of Connection Indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(NATURE_OF_CONNECTION_IND_LENGTH, actual_length), NATURE_OF_CONNECTION_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(NATURE_OF_CONNECTION_IND_LENGTH, actual_length), NATURE_OF_CONNECTION_IND_LENGTH); dissect_isup_nature_of_connection_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += NATURE_OF_CONNECTION_IND_LENGTH; @@ -8707,7 +8707,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, "Nature of Connection Indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(NATURE_OF_CONNECTION_IND_LENGTH, actual_length), NATURE_OF_CONNECTION_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(NATURE_OF_CONNECTION_IND_LENGTH, actual_length), NATURE_OF_CONNECTION_IND_LENGTH); dissect_isup_nature_of_connection_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += NATURE_OF_CONNECTION_IND_LENGTH; @@ -8718,7 +8718,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, "Forward Call Indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(FORWARD_CALL_IND_LENGTH, actual_length), FORWARD_CALL_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(FORWARD_CALL_IND_LENGTH, actual_length), FORWARD_CALL_IND_LENGTH); dissect_isup_forward_call_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += FORWARD_CALL_IND_LENGTH; @@ -8730,7 +8730,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, "Calling Party's category"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(CALLING_PRTYS_CATEGORY_LENGTH, actual_length), CALLING_PRTYS_CATEGORY_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(CALLING_PRTYS_CATEGORY_LENGTH, actual_length), CALLING_PRTYS_CATEGORY_LENGTH); dissect_isup_calling_partys_category_parameter(parameter_tvb, parameter_tree, parameter_item, itu_isup_variant); offset += CALLING_PRTYS_CATEGORY_LENGTH; @@ -8744,7 +8744,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, "Transmission medium requirement"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH, actual_length), TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH); @@ -8767,7 +8767,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -8792,7 +8792,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -8829,7 +8829,7 @@ static gint dissect_isup_subsequent_address_message(tvbuff_t *message_tvb, packe proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -8858,7 +8858,7 @@ dissect_isup_information_request_message(tvbuff_t *message_tvb, proto_tree *isup "Information request indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(INFO_REQUEST_IND_LENGTH, actual_length), INFO_REQUEST_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(INFO_REQUEST_IND_LENGTH, actual_length), INFO_REQUEST_IND_LENGTH); dissect_isup_information_request_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += INFO_REQUEST_IND_LENGTH; return offset; @@ -8883,7 +8883,7 @@ dissect_isup_information_message(tvbuff_t *message_tvb, proto_tree *isup_tree) "Information indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(INFO_IND_LENGTH, actual_length), INFO_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(INFO_IND_LENGTH, actual_length), INFO_IND_LENGTH); dissect_isup_information_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += INFO_IND_LENGTH; return offset; @@ -8907,7 +8907,7 @@ dissect_isup_continuity_message(tvbuff_t *message_tvb, proto_tree *isup_tree) "Continuity indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(CONTINUITY_IND_LENGTH, actual_length), CONTINUITY_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(CONTINUITY_IND_LENGTH, actual_length), CONTINUITY_IND_LENGTH); dissect_isup_continuity_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += CONTINUITY_IND_LENGTH; return offset; @@ -8931,7 +8931,7 @@ dissect_isup_address_complete_message(tvbuff_t *message_tvb, proto_tree *isup_tr "Backward Call Indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(BACKWARD_CALL_IND_LENGTH, actual_length), BACKWARD_CALL_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(BACKWARD_CALL_IND_LENGTH, actual_length), BACKWARD_CALL_IND_LENGTH); dissect_isup_backward_call_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += BACKWARD_CALL_IND_LENGTH; return offset; @@ -8955,7 +8955,7 @@ dissect_isup_connect_message(tvbuff_t *message_tvb, proto_tree *isup_tree) "Backward Call Indicators"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(BACKWARD_CALL_IND_LENGTH, actual_length), BACKWARD_CALL_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(BACKWARD_CALL_IND_LENGTH, actual_length), BACKWARD_CALL_IND_LENGTH); dissect_isup_backward_call_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += BACKWARD_CALL_IND_LENGTH; return offset; @@ -8989,7 +8989,7 @@ dissect_isup_release_message(tvbuff_t *message_tvb, proto_tree *isup_tree) proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9025,7 +9025,7 @@ dissect_isup_suspend_resume_message(tvbuff_t *message_tvb, proto_tree *isup_tree "Suspend/Resume indicator"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(SUSPEND_RESUME_IND_LENGTH, actual_length), SUSPEND_RESUME_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(SUSPEND_RESUME_IND_LENGTH, actual_length), SUSPEND_RESUME_IND_LENGTH); dissect_isup_suspend_resume_indicators_parameter(parameter_tvb, parameter_tree, parameter_item); offset += SUSPEND_RESUME_IND_LENGTH; return offset; @@ -9059,7 +9059,7 @@ dissect_isup_circuit_group_reset_query_message(tvbuff_t *message_tvb, packet_inf proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9088,7 +9088,7 @@ dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, packet_info "Circuit group supervision message type"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(CIRC_GRP_SV_MSG_TYPE_LENGTH, actual_length), CIRC_GRP_SV_MSG_TYPE_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(CIRC_GRP_SV_MSG_TYPE_LENGTH, actual_length), CIRC_GRP_SV_MSG_TYPE_LENGTH); dissect_isup_circuit_group_supervision_message_type_parameter(parameter_tvb, parameter_tree, parameter_item); offset += CIRC_GRP_SV_MSG_TYPE_LENGTH; @@ -9109,7 +9109,7 @@ dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, packet_info proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9138,7 +9138,7 @@ dissect_isup_facility_request_accepted_message(tvbuff_t *message_tvb, proto_tree "Facility indicator"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(FACILITY_IND_LENGTH, actual_length), FACILITY_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(FACILITY_IND_LENGTH, actual_length), FACILITY_IND_LENGTH); dissect_isup_facility_ind_parameter(parameter_tvb, parameter_item); offset += FACILITY_IND_LENGTH; return offset; @@ -9163,7 +9163,7 @@ dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tre "Facility indicator"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(FACILITY_IND_LENGTH, actual_length), FACILITY_IND_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(FACILITY_IND_LENGTH, actual_length), FACILITY_IND_LENGTH); dissect_isup_facility_ind_parameter(parameter_tvb, parameter_item); offset += FACILITY_IND_LENGTH; @@ -9184,7 +9184,7 @@ dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tre proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9229,7 +9229,7 @@ dissect_isup_circuit_group_reset_acknowledgement_message(tvbuff_t *message_tvb, proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9267,7 +9267,7 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, packet_ proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9291,7 +9291,7 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, packet_ proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9319,7 +9319,7 @@ dissect_isup_call_progress_message(tvbuff_t *message_tvb, proto_tree *isup_tree) "Event information"); proto_tree_add_uint(parameter_tree, hf_isup_mand_parameter_type, message_tvb, 0, 0, parameter_type); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(EVENT_INFO_LENGTH, actual_length), EVENT_INFO_LENGTH); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(EVENT_INFO_LENGTH, actual_length), EVENT_INFO_LENGTH); dissect_isup_event_information_parameter(parameter_tvb, parameter_tree, parameter_item); offset += EVENT_INFO_LENGTH; return offset; @@ -9353,7 +9353,7 @@ dissect_isup_user_to_user_information_message(tvbuff_t *message_tvb, packet_info proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9392,7 +9392,7 @@ dissect_isup_confusion_message(tvbuff_t *message_tvb, proto_tree *isup_tree) message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); @@ -9545,7 +9545,7 @@ dissect_japan_chg_inf(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *isu parameter_type, val_to_str_ext_const(parameter_type, &japan_isup_parameter_type_value_ext, "unknown")); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(1, actual_length), 1); + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset, MIN(1, actual_length), 1); chg_inf_type = tvb_get_guint8(parameter_tvb, 0); dissect_japan_chg_inf_type(parameter_tvb, parameter_tree, parameter_item); offset += 1; @@ -9569,7 +9569,7 @@ dissect_japan_chg_inf(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *isu proto_tree_add_uint(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length); actual_length = tvb_ensure_captured_length_remaining(message_tvb, offset); - parameter_tvb = tvb_new_subset(message_tvb, + parameter_tvb = tvb_new_subset_length_caplen(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length); -- cgit v1.2.3