diff --git a/lib/asn/src/s1ap_ies_decoder.c b/lib/asn/src/s1ap_ies_decoder.c index a718a2a9d..72d6d6474 100644 --- a/lib/asn/src/s1ap_ies_decoder.c +++ b/lib/asn/src/s1ap_ies_decoder.c @@ -30,7 +30,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v1.0.2 * Please do not modify this file but regenerate it via script. - * Created on: 2017-02-09 20:10:36.264314 by acetcom + * Created on: 2017-02-09 22:00:13.084789 by acetcom * from ['S1AP-PDU.asn'] ******************************************************************************/ #define TRACE_MODULE ies_decoder diff --git a/lib/asn/src/s1ap_ies_defs.h b/lib/asn/src/s1ap_ies_defs.h index 283a88651..90c14fe9c 100644 --- a/lib/asn/src/s1ap_ies_defs.h +++ b/lib/asn/src/s1ap_ies_defs.h @@ -30,7 +30,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v1.0.2 * Please do not modify this file but regenerate it via script. - * Created on: 2017-02-09 20:10:36.242342 by acetcom + * Created on: 2017-02-09 22:00:13.067890 by acetcom * from ['S1AP-PDU.asn'] ******************************************************************************/ #include "s1ap_asn1c.h" diff --git a/lib/asn/src/s1ap_ies_encoder.c b/lib/asn/src/s1ap_ies_encoder.c index a19e0fef0..50bb51bad 100644 --- a/lib/asn/src/s1ap_ies_encoder.c +++ b/lib/asn/src/s1ap_ies_encoder.c @@ -30,7 +30,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v1.0.2 * Please do not modify this file but regenerate it via script. - * Created on: 2017-02-09 20:10:36.295032 by acetcom + * Created on: 2017-02-09 22:00:13.107167 by acetcom * from ['S1AP-PDU.asn'] ******************************************************************************/ #include "core_debug.h" diff --git a/lib/asn/src/s1ap_ies_free.c b/lib/asn/src/s1ap_ies_free.c index 34454e743..1f964a17a 100644 --- a/lib/asn/src/s1ap_ies_free.c +++ b/lib/asn/src/s1ap_ies_free.c @@ -30,7 +30,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v1.0.2 * Please do not modify this file but regenerate it via script. - * Created on: 2017-02-09 20:10:36.311283 by acetcom + * Created on: 2017-02-09 22:00:13.124536 by acetcom * from ['S1AP-PDU.asn'] ******************************************************************************/ #define TRACE_MODULE ies_free @@ -930,114 +930,266 @@ void s1ap_free_s1ap_uplinkueassociatedlppatransport_ies( void s1ap_free_s1ap_e_rabfailedtosetuplisthoreqack( S1ap_E_RABFailedtoSetupListHOReqAck_IEs_t *s1ap_E_RABFailedtoSetupListHOReqAckIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABFailedtoSetupListHOReqAckIEs->s1ap_E_RABFailedtoSetupItemHOReqAck.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABFailedToSetupItemHOReqAck, s1ap_E_RABFailedtoSetupListHOReqAckIEs->s1ap_E_RABFailedtoSetupItemHOReqAck.array[i]); + } + + if (s1ap_E_RABFailedtoSetupListHOReqAckIEs->s1ap_E_RABFailedtoSetupItemHOReqAck.array) + FREEMEM(s1ap_E_RABFailedtoSetupListHOReqAckIEs->s1ap_E_RABFailedtoSetupItemHOReqAck.array); } void s1ap_free_s1ap_e_rabreleaselistbearerrelcomp( S1ap_E_RABReleaseListBearerRelComp_IEs_t *s1ap_E_RABReleaseListBearerRelCompIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABReleaseListBearerRelCompIEs->s1ap_E_RABReleaseItemBearerRelComp.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABReleaseItemBearerRelComp, s1ap_E_RABReleaseListBearerRelCompIEs->s1ap_E_RABReleaseItemBearerRelComp.array[i]); + } + + if (s1ap_E_RABReleaseListBearerRelCompIEs->s1ap_E_RABReleaseItemBearerRelComp.array) + FREEMEM(s1ap_E_RABReleaseListBearerRelCompIEs->s1ap_E_RABReleaseItemBearerRelComp.array); } void s1ap_free_s1ap_e_rabtobesetuplisthoreq( S1ap_E_RABToBeSetupListHOReq_IEs_t *s1ap_E_RABToBeSetupListHOReqIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeSetupListHOReqIEs->s1ap_E_RABToBeSetupItemHOReq.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeSetupItemHOReq, s1ap_E_RABToBeSetupListHOReqIEs->s1ap_E_RABToBeSetupItemHOReq.array[i]); + } + + if (s1ap_E_RABToBeSetupListHOReqIEs->s1ap_E_RABToBeSetupItemHOReq.array) + FREEMEM(s1ap_E_RABToBeSetupListHOReqIEs->s1ap_E_RABToBeSetupItemHOReq.array); } void s1ap_free_s1ap_e_rabtobemodifiedlistbearermodreq( S1ap_E_RABToBeModifiedListBearerModReq_IEs_t *s1ap_E_RABToBeModifiedListBearerModReqIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeModifiedListBearerModReqIEs->s1ap_E_RABToBeModifiedItemBearerModReq.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeModifiedItemBearerModReq, s1ap_E_RABToBeModifiedListBearerModReqIEs->s1ap_E_RABToBeModifiedItemBearerModReq.array[i]); + } + + if (s1ap_E_RABToBeModifiedListBearerModReqIEs->s1ap_E_RABToBeModifiedItemBearerModReq.array) + FREEMEM(s1ap_E_RABToBeModifiedListBearerModReqIEs->s1ap_E_RABToBeModifiedItemBearerModReq.array); } void s1ap_free_s1ap_e_rabadmittedlist( S1ap_E_RABAdmittedList_IEs_t *s1ap_E_RABAdmittedListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABAdmittedListIEs->s1ap_E_RABAdmittedItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABAdmittedItem, s1ap_E_RABAdmittedListIEs->s1ap_E_RABAdmittedItem.array[i]); + } + + if (s1ap_E_RABAdmittedListIEs->s1ap_E_RABAdmittedItem.array) + FREEMEM(s1ap_E_RABAdmittedListIEs->s1ap_E_RABAdmittedItem.array); } void s1ap_free_s1ap_e_rabtobesetuplistbearersureq( S1ap_E_RABToBeSetupListBearerSUReq_IEs_t *s1ap_E_RABToBeSetupListBearerSUReqIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeSetupListBearerSUReqIEs->s1ap_E_RABToBeSetupItemBearerSUReq.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeSetupItemBearerSUReq, s1ap_E_RABToBeSetupListBearerSUReqIEs->s1ap_E_RABToBeSetupItemBearerSUReq.array[i]); + } + + if (s1ap_E_RABToBeSetupListBearerSUReqIEs->s1ap_E_RABToBeSetupItemBearerSUReq.array) + FREEMEM(s1ap_E_RABToBeSetupListBearerSUReqIEs->s1ap_E_RABToBeSetupItemBearerSUReq.array); } void s1ap_free_s1ap_e_rabdataforwardinglist( S1ap_E_RABDataForwardingList_IEs_t *s1ap_E_RABDataForwardingListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABDataForwardingListIEs->s1ap_E_RABDataForwardingItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABDataForwardingItem, s1ap_E_RABDataForwardingListIEs->s1ap_E_RABDataForwardingItem.array[i]); + } + + if (s1ap_E_RABDataForwardingListIEs->s1ap_E_RABDataForwardingItem.array) + FREEMEM(s1ap_E_RABDataForwardingListIEs->s1ap_E_RABDataForwardingItem.array); } void s1ap_free_s1ap_e_rabtobeswitcheddllist( S1ap_E_RABToBeSwitchedDLList_IEs_t *s1ap_E_RABToBeSwitchedDLListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeSwitchedDLListIEs->s1ap_E_RABToBeSwitchedDLItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeSwitchedDLItem, s1ap_E_RABToBeSwitchedDLListIEs->s1ap_E_RABToBeSwitchedDLItem.array[i]); + } + + if (s1ap_E_RABToBeSwitchedDLListIEs->s1ap_E_RABToBeSwitchedDLItem.array) + FREEMEM(s1ap_E_RABToBeSwitchedDLListIEs->s1ap_E_RABToBeSwitchedDLItem.array); } void s1ap_free_s1ap_e_rabsetuplistctxtsures( S1ap_E_RABSetupListCtxtSURes_IEs_t *s1ap_E_RABSetupListCtxtSUResIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABSetupListCtxtSUResIEs->s1ap_E_RABSetupItemCtxtSURes.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABSetupItemCtxtSURes, s1ap_E_RABSetupListCtxtSUResIEs->s1ap_E_RABSetupItemCtxtSURes.array[i]); + } + + if (s1ap_E_RABSetupListCtxtSUResIEs->s1ap_E_RABSetupItemCtxtSURes.array) + FREEMEM(s1ap_E_RABSetupListCtxtSUResIEs->s1ap_E_RABSetupItemCtxtSURes.array); } void s1ap_free_s1ap_e_rabtobeswitchedullist( S1ap_E_RABToBeSwitchedULList_IEs_t *s1ap_E_RABToBeSwitchedULListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeSwitchedULListIEs->s1ap_E_RABToBeSwitchedULItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeSwitchedULItem, s1ap_E_RABToBeSwitchedULListIEs->s1ap_E_RABToBeSwitchedULItem.array[i]); + } + + if (s1ap_E_RABToBeSwitchedULListIEs->s1ap_E_RABToBeSwitchedULItem.array) + FREEMEM(s1ap_E_RABToBeSwitchedULListIEs->s1ap_E_RABToBeSwitchedULItem.array); } void s1ap_free_s1ap_bearers_subjecttostatustransfer_list( S1ap_Bearers_SubjectToStatusTransfer_List_IEs_t *s1ap_Bearers_SubjectToStatusTransfer_ListIEs) { + int i = 0; + for (i = 0; i < s1ap_Bearers_SubjectToStatusTransfer_ListIEs->s1ap_Bearers_SubjectToStatusTransfer_Item.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_Bearers_SubjectToStatusTransfer_Item, s1ap_Bearers_SubjectToStatusTransfer_ListIEs->s1ap_Bearers_SubjectToStatusTransfer_Item.array[i]); + } + + if (s1ap_Bearers_SubjectToStatusTransfer_ListIEs->s1ap_Bearers_SubjectToStatusTransfer_Item.array) + FREEMEM(s1ap_Bearers_SubjectToStatusTransfer_ListIEs->s1ap_Bearers_SubjectToStatusTransfer_Item.array); } void s1ap_free_s1ap_e_rablist( S1ap_E_RABList_IEs_t *s1ap_E_RABListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABListIEs->s1ap_E_RABItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABItem, s1ap_E_RABListIEs->s1ap_E_RABItem.array[i]); + } + + if (s1ap_E_RABListIEs->s1ap_E_RABItem.array) + FREEMEM(s1ap_E_RABListIEs->s1ap_E_RABItem.array); } void s1ap_free_s1ap_tailist( S1ap_TAIList_IEs_t *s1ap_TAIListIEs) { + int i = 0; + for (i = 0; i < s1ap_TAIListIEs->s1ap_TAIItem.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_TAIItem, s1ap_TAIListIEs->s1ap_TAIItem.array[i]); + } + + if (s1ap_TAIListIEs->s1ap_TAIItem.array) + FREEMEM(s1ap_TAIListIEs->s1ap_TAIItem.array); } void s1ap_free_s1ap_ue_associatedlogicals1_connectionlistres( S1ap_UE_associatedLogicalS1_ConnectionListRes_IEs_t *s1ap_UE_associatedLogicalS1_ConnectionListResIEs) { + int i = 0; + for (i = 0; i < s1ap_UE_associatedLogicalS1_ConnectionListResIEs->s1ap_UE_associatedLogicalS1_ConnectionItemRes.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_UE_associatedLogicalS1_ConnectionItem, s1ap_UE_associatedLogicalS1_ConnectionListResIEs->s1ap_UE_associatedLogicalS1_ConnectionItemRes.array[i]); + } + + if (s1ap_UE_associatedLogicalS1_ConnectionListResIEs->s1ap_UE_associatedLogicalS1_ConnectionItemRes.array) + FREEMEM(s1ap_UE_associatedLogicalS1_ConnectionListResIEs->s1ap_UE_associatedLogicalS1_ConnectionItemRes.array); } void s1ap_free_s1ap_e_rabsetuplistbearersures( S1ap_E_RABSetupListBearerSURes_IEs_t *s1ap_E_RABSetupListBearerSUResIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABSetupListBearerSUResIEs->s1ap_E_RABSetupItemBearerSURes.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABSetupItemBearerSURes, s1ap_E_RABSetupListBearerSUResIEs->s1ap_E_RABSetupItemBearerSURes.array[i]); + } + + if (s1ap_E_RABSetupListBearerSUResIEs->s1ap_E_RABSetupItemBearerSURes.array) + FREEMEM(s1ap_E_RABSetupListBearerSUResIEs->s1ap_E_RABSetupItemBearerSURes.array); } void s1ap_free_s1ap_e_rabmodifylistbearermodres( S1ap_E_RABModifyListBearerModRes_IEs_t *s1ap_E_RABModifyListBearerModResIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABModifyListBearerModResIEs->s1ap_E_RABModifyItemBearerModRes.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABModifyItemBearerModRes, s1ap_E_RABModifyListBearerModResIEs->s1ap_E_RABModifyItemBearerModRes.array[i]); + } + + if (s1ap_E_RABModifyListBearerModResIEs->s1ap_E_RABModifyItemBearerModRes.array) + FREEMEM(s1ap_E_RABModifyListBearerModResIEs->s1ap_E_RABModifyItemBearerModRes.array); } void s1ap_free_s1ap_e_rabtobesetuplistctxtsureq( S1ap_E_RABToBeSetupListCtxtSUReq_IEs_t *s1ap_E_RABToBeSetupListCtxtSUReqIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABToBeSetupListCtxtSUReqIEs->s1ap_E_RABToBeSetupItemCtxtSUReq.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABToBeSetupItemCtxtSUReq, s1ap_E_RABToBeSetupListCtxtSUReqIEs->s1ap_E_RABToBeSetupItemCtxtSUReq.array[i]); + } + + if (s1ap_E_RABToBeSetupListCtxtSUReqIEs->s1ap_E_RABToBeSetupItemCtxtSUReq.array) + FREEMEM(s1ap_E_RABToBeSetupListCtxtSUReqIEs->s1ap_E_RABToBeSetupItemCtxtSUReq.array); } void s1ap_free_s1ap_e_rabinformationlist( S1ap_E_RABInformationList_IEs_t *s1ap_E_RABInformationListIEs) { + int i = 0; + for (i = 0; i < s1ap_E_RABInformationListIEs->s1ap_E_RABInformationList.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABInformationListItem, s1ap_E_RABInformationListIEs->s1ap_E_RABInformationList.array[i]); + } + + if (s1ap_E_RABInformationListIEs->s1ap_E_RABInformationList.array) + FREEMEM(s1ap_E_RABInformationListIEs->s1ap_E_RABInformationList.array); } void s1ap_free_s1ap_ue_associatedlogicals1_connectionlistresack( S1ap_UE_associatedLogicalS1_ConnectionListResAck_IEs_t *s1ap_UE_associatedLogicalS1_ConnectionListResAckIEs) { + int i = 0; + for (i = 0; i < s1ap_UE_associatedLogicalS1_ConnectionListResAckIEs->s1ap_UE_associatedLogicalS1_ConnectionItemResAck.count; i++) + { + ASN_STRUCT_FREE(asn_DEF_S1ap_UE_associatedLogicalS1_ConnectionItem, s1ap_UE_associatedLogicalS1_ConnectionListResAckIEs->s1ap_UE_associatedLogicalS1_ConnectionItemResAck.array[i]); + } + + if (s1ap_UE_associatedLogicalS1_ConnectionListResAckIEs->s1ap_UE_associatedLogicalS1_ConnectionItemResAck.array) + FREEMEM(s1ap_UE_associatedLogicalS1_ConnectionListResAckIEs->s1ap_UE_associatedLogicalS1_ConnectionItemResAck.array); } diff --git a/lib/asn/src/s1ap_ies_xer_print.c b/lib/asn/src/s1ap_ies_xer_print.c index 0e36acddc..3333df31c 100644 --- a/lib/asn/src/s1ap_ies_xer_print.c +++ b/lib/asn/src/s1ap_ies_xer_print.c @@ -30,7 +30,7 @@ /******************************************************************************* * This file had been created by asn1tostruct.py script v1.0.2 * Please do not modify this file but regenerate it via script. - * Created on: 2017-02-09 20:10:36.321592 by acetcom + * Created on: 2017-02-09 22:00:13.141785 by acetcom * from ['S1AP-PDU.asn'] ******************************************************************************/ #include diff --git a/lib/asn/support/asn1tostruct.py b/lib/asn/support/asn1tostruct.py index 21675efa3..5b9692715 100644 --- a/lib/asn/support/asn1tostruct.py +++ b/lib/asn/support/asn1tostruct.py @@ -491,7 +491,6 @@ for key in iesDefs: f.write(" if (tempDecoded < 0 || %s_p == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2])))) f.write(" d_error(\"Decoding of IE %s for message %s failed\");\n" % (ienameunderscore, re.sub('-', '_', keyname))) f.write(" if (%s_p)\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2])))) - #f.write(" free(%s_p);\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2])))) f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) f.write(" return -1;\n") f.write(" }\n") @@ -701,7 +700,15 @@ for key in iesDefs: f.write("void %s_free_%s(\n" % (fileprefix, re.sub('-', '_', keyname).lower())) f.write(" %s_IEs_t *%sIEs)\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname)))) - f.write("{\n\n") + f.write("{\n") + for ie in iesDefs[key]["ies"]: + f.write(" int i = 0;\n\n") + f.write(" for (i = 0; i < %sIEs->%s.count; i++)\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) + f.write(" {\n") + f.write(" ASN_STRUCT_FREE(asn_DEF_%s, %sIEs->%s.array[i]);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '_', keyname)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) + f.write(" }\n\n") + f.write(" if (%sIEs->%s.array)\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) + f.write(" FREEMEM(%sIEs->%s.array);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) f.write("}\n\n") #Generate xer print functions diff --git a/src/s1ap_message.c b/src/s1ap_message.c index 45ca0ce32..d881bf2e0 100644 --- a/src/s1ap_message.c +++ b/src/s1ap_message.c @@ -68,8 +68,7 @@ status_t s1ap_build_setup_rsp(pkbuf_t **pkbuf) erval = s1ap_encode_pdu(pkbuf, &message); - ASN_STRUCT_FREE_CONTENTS_ONLY( - asn_DEF_S1ap_ServedGUMMEIs, &ies->servedGUMMEIs); + s1ap_free_s1ap_s1setupresponseies(ies); if (erval < 0) { diff --git a/test/s1ap_test.c b/test/s1ap_test.c index 69f69bdb8..5e657e4e9 100644 --- a/test/s1ap_test.c +++ b/test/s1ap_test.c @@ -64,8 +64,6 @@ static void s1ap_test3(abts_case *tc, void *data) }; s1ap_message message; - S1ap_InitialContextSetupResponseIEs_t *ie = - &message.msg.s1ap_InitialContextSetupResponseIEs; pkbuf_t *pkbuf; int result; @@ -77,30 +75,7 @@ static void s1ap_test3(abts_case *tc, void *data) result = s1ap_decode_pdu(&message, pkbuf); ABTS_INT_EQUAL(tc, 0, result); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_MME_UE_S1AP_ID, - &ie->mme_ue_s1ap_id); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_ENB_UE_S1AP_ID, - &ie->eNB_UE_S1AP_ID); - { - int i = 0; - for (i = 0; i < ie->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.count; i++) - { - ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABSetupItemCtxtSURes, - ie->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.array[i]); - } - FREEMEM(ie->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.array); - } - { - int i = 0; - for (i = 0; i < ie->e_RABFailedToSetupListCtxtSURes.s1ap_E_RABItem.count; i++) - { - ASN_STRUCT_FREE(asn_DEF_S1ap_E_RABItem, - ie->e_RABFailedToSetupListCtxtSURes.s1ap_E_RABItem.array[i]); - } - FREEMEM(ie->e_RABFailedToSetupListCtxtSURes.s1ap_E_RABItem.array); - } - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_CriticalityDiagnostics, - &ie->criticalityDiagnostics); + s1ap_free_s1ap_initialcontextsetupresponseies(&message.msg.s1ap_InitialContextSetupResponseIEs); pkbuf_free(pkbuf); } @@ -163,10 +138,7 @@ static void s1ap_test5(abts_case *tc, void *data) erval = s1ap_encode_pdu(&pkbuf, &message); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_Global_ENB_ID, - &s1SetupRequestIEs->global_ENB_ID); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1ap_SupportedTAs, - &s1SetupRequestIEs->supportedTAs); + s1ap_free_s1ap_s1setuprequesties(s1SetupRequestIEs); ABTS_INT_EQUAL(tc, 280, erval); }