From Fredrik Kuivinen:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 29 Aug 2011 14:47:20 +0000 (14:47 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 29 Aug 2011 14:47:20 +0000 (14:47 +0000)
Fix a problem with dissection of HandoverRequest.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38776 f5534014-38df-0310-8fa8-9805f1628bb7

asn1/x2ap/x2ap.cnf
epan/dissectors/packet-x2ap.c

index 797dca886ce235db76ea447bdf7f47cecd299cf6..7def3847891b273185618098e3cdd28a04870a7a 100644 (file)
@@ -127,21 +127,17 @@ ProtocolExtensionID TYPE = FT_UINT8  DISPLAY = BASE_DEC STRINGS = VALS(x2ap_Prot
                 proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, tvb_len, FALSE);
        }
 
-#.FN_BODY RRC-Context 
-#VAL_PTR = &parameter_tvb
+#.FN_BODY RRC-Context VAL_PTR = &parameter_tvb
 # Includes the RRC Handover Preparation Information message as defined in
 # subclause 10.2.2 of [9].
 # [9] 3GPP TS 36.331: "Evolved Universal Terrestrial Radio Access (E-UTRAN); Radio Resource
 # Control (RRC) Protocol Specification".
   tvbuff_t *parameter_tvb=NULL;
-  gint32 start_offset;
-  
-  start_offset = offset;
+
 %(DEFAULT_BODY)s
-  parameter_tvb = tvb_new_subset(tvb, start_offset>>3, -1, -1);        
   if (!parameter_tvb)
     return offset;
-  dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree);
+  dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, tree);
 
 #.ASSIGN_VALUE_TO_TYPE  # X2AP does not have constants assigned to types, they are pure INTEGER
 # ProcedureCode
index 474b8091f573f12fcf4ed7677270ceee6ca8090a..64b38b1dad188e9d114edac2d6ae8d47365e17e6 100644 (file)
@@ -2689,18 +2689,15 @@ dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
 
 static int
 dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 136 "../../asn1/x2ap/x2ap.cnf"
+#line 135 "../../asn1/x2ap/x2ap.cnf"
   tvbuff_t *parameter_tvb=NULL;
-  gint32 start_offset;
-  
-  start_offset = offset;
+
   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
-                                       NO_BOUND, NO_BOUND, FALSE, NULL);
+                                       NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
 
-  parameter_tvb = tvb_new_subset(tvb, start_offset>>3, -1, -1);        
   if (!parameter_tvb)
     return offset;
-  dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, tree);
+  dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, tree);