ASN_SEQUENCE_ADD return code was checked only in 0.5% of calls, existing errors not detected by sanitize address

This commit is contained in:
laurent
2023-01-11 09:59:39 +01:00
committed by Robert Schmidt
parent 1a0c0cd1c9
commit 9a789dbb8a
78 changed files with 910 additions and 931 deletions
+34 -34
View File
@@ -76,7 +76,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
ie->criticality = M2AP_Criticality_reject;
ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_MCE_MBMS_M2AP_ID;
//ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c2. TMGI (integrer value) */
@@ -90,7 +90,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
//&ie->choice.TMGI.pLMN_Identity);
//INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c3. MBMS_Session_ID (integrer value) */ //OCTET_STRING
@@ -100,7 +100,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
ie->criticality = M2AP_Criticality_reject;
ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_MBMS_Session_ID;
//INT16_TO_OCTET_STRING(0,&ie->choice.MBMS_Session_ID);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
}
/* mandatory */
@@ -113,7 +113,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
//strlen(m2ap_setup_resp->MCEname));
//INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId);
ie->value.choice.MBMS_Service_Area.buf = calloc(3,sizeof(uint8_t));
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
@@ -131,7 +131,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
OCTET_STRING_fromBuf(&ie->value.choice.TNL_Information.iPMCAddress, "1204",strlen("1234"));
OCTET_STRING_fromBuf(&ie->value.choice.TNL_Information.iPSourceAddress, "1204",strlen("1234"));
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
if(0){
// /* optional */
@@ -141,7 +141,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
// ie->criticality = M2AP_Criticality_reject;
// ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_TNL_Information_1;
// //asn_int642INTEGER(&ie->value.choice.MBMS_Session_ID, f1ap_du_data->MBMS_Session_ID); //?
// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
// asn1cSeqAdd(&out->protocolIEs.list, ie);
}
@@ -258,8 +258,8 @@ int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m2ap_session_stop_re
ie->id = M2AP_ProtocolIE_ID_id_MCE_MBMS_M2AP_ID;
ie->criticality = M2AP_Criticality_reject;
ie->value.present = M2AP_SessionStopRequest_Ies__value_PR_MCE_MBMS_M2AP_ID;
ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
ie->value.choice.MCE_MBMS_M2AP_ID = 0; /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c2. ENB_MBMS_M2AP_ID (integer value) */ //long
@@ -267,9 +267,9 @@ int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m2ap_session_stop_re
ie->id = M2AP_ProtocolIE_ID_id_ENB_MBMS_M2AP_ID;
ie->criticality = M2AP_Criticality_reject;
ie->value.present = M2AP_SessionStopRequest_Ies__value_PR_ENB_MBMS_M2AP_ID;
ie->value.choice.ENB_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ie->value.choice.ENB_MBMS_M2AP_ID = 0;/*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* encode */
@@ -411,7 +411,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
//ie->value.choice.MCCH_Update_Time = ;
ie->value.choice.MCCH_Update_Time = m2ap_mbms_scheduling_information->mcch_update_time;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c2. MBSFN_Area_Configuration_List */ //long
@@ -471,7 +471,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
member->lcid = m2ap_mbms_scheduling_information->mbms_area_config_list[i].pmch_config_list[j].mbms_session_list[k].lcid;
//member->lcid = (M2AP_LCID_t*)calloc(1,sizeof(M2AP_LCID_t));
ASN_SEQUENCE_ADD(&pmch_configuration_item->mbms_Session_List.list,member);
asn1cSeqAdd(&pmch_configuration_item->mbms_Session_List.list,member);
}
}
@@ -479,11 +479,11 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
// M2AP_MBSFN_Area_Configuration_Item_t *mbsfn_area_configuration_item_ie2;
//(mbsfn_area_configuration_item_ie+1) =(M2AP_MBSFN_Area_Configuration_Item_t*)calloc(1,sizeof(M2AP_MBSFN_Area_Configuration_Item_t));
ASN_SEQUENCE_ADD(&mbsfn_area_configuration_item_ie->value.choice.PMCH_Configuration_List.list,pmch_configuration_item_ies);
asn1cSeqAdd(&mbsfn_area_configuration_item_ie->value.choice.PMCH_Configuration_List.list,pmch_configuration_item_ies);
}
ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie);
asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie);
/*M2AP_MBSFN_Area_Configuration_Item_t*/
M2AP_MBSFN_Area_Configuration_Item_t *mbsfn_area_configuration_item_ie_1;
@@ -523,11 +523,11 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
mbsfn_subframe_configuration->subframeAllocation.choice.oneFrame.buf[0] = (m2ap_mbms_scheduling_information->mbms_area_config_list[i].mbms_sf_config_list[j].subframe_allocation & 0x3F)<<2;
}
ASN_SEQUENCE_ADD(&(mbsfn_area_configuration_item_ie_1)->value.choice.MBSFN_Subframe_ConfigurationList.list,mbsfn_subframe_configuration_item_ies);
asn1cSeqAdd(&(mbsfn_area_configuration_item_ie_1)->value.choice.MBSFN_Subframe_ConfigurationList.list,mbsfn_subframe_configuration_item_ies);
}
}
ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_1);
asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_1);
/*M2AP_MBSFN_Area_Configuration_Item_t*/
@@ -538,7 +538,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
(mbsfn_area_configuration_item_ie_2)->value.present = M2AP_MBSFN_Area_Configuration_Item__value_PR_Common_Subframe_Allocation_Period;
(mbsfn_area_configuration_item_ie_2)->value.choice.Common_Subframe_Allocation_Period=m2ap_mbms_scheduling_information->mbms_area_config_list[i].common_sf_allocation_period;
ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_2);
asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_2);
/*M2AP_MBSFN_Area_Configuration_Item_t*/
@@ -549,7 +549,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
(mbsfn_area_configuration_item_ie_3)->value.present = M2AP_MBSFN_Area_Configuration_Item__value_PR_MBSFN_Area_ID;
(mbsfn_area_configuration_item_ie_3)->value.choice.MBSFN_Area_ID = m2ap_mbms_scheduling_information->mbms_area_config_list[i].mbms_area_id;
ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_3);
asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_3);
ASN_SET_ADD(&ie->value.choice.MBSFN_Area_Configuration_List,m2ap_mbsfn_area_configuration_list);
@@ -563,7 +563,7 @@ ASN_SET_ADD(&ie->value.choice.MBSFN_Area_Configuration_List,m2ap_mbsfn_area_conf
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
@@ -879,7 +879,7 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
ie->value.choice.GlobalMCE_ID.mCE_ID.size=2;
//ie->value.choice.GlobalMCE_ID.mCE_ID.bits_unused=0;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* optional */
/* c2. MCEname */
@@ -890,7 +890,7 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
ie->value.present = M2AP_M2SetupResponse_Ies__value_PR_MCEname;
OCTET_STRING_fromBuf(&ie->value.choice.MCEname, m2ap_setup_resp->MCE_name,
strlen(m2ap_setup_resp->MCE_name));
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
}
/* mandatory */
@@ -934,12 +934,12 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
//memset(&config_per_mbsfn_area_item->subframeAllocationInfo,0,sizeof(BIT_STRING_t));
config_per_mbsfn_area_item->modulationAndCodingScheme = m2ap_setup_resp->mcch_config_per_mbsfn[i].mcs;//M2AP_MCCHrelatedBCCH_ConfigPerMBSFNArea_Item__modulationAndCodingScheme_n2;
ASN_SEQUENCE_ADD(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies);
asn1cSeqAdd(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies);
}
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* encode */
@@ -986,7 +986,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set
// ie->criticality = M2AP_Criticality_reject;
// ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_GlobalENB_ID;
// ie->value.choice.GlobalENB_ID = M2AP_get_next_transaction_identifier(enb_mod_idP, mce_mod_idP);
// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
// asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c2. Cause */
@@ -996,7 +996,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set
ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_Cause;
ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork;
ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_unspecified;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* optional */
/* c3. TimeToWait */
@@ -1006,7 +1006,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set
ie->criticality = M2AP_Criticality_ignore;
ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_TimeToWait;
ie->value.choice.TimeToWait = M2AP_TimeToWait_v10s;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
}
/* optional */
@@ -1024,7 +1024,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set
*ie->value.choice.CriticalityDiagnostics.procedureCriticality = M2AP_Criticality_reject;
//ie->value.choice.CriticalityDiagnostics.transactionID = (M2AP_TransactionID_t *)calloc(1, sizeof(M2AP_TransactionID_t));
//*ie->value.choice.CriticalityDiagnostics.transactionID = 0;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
}
/* encode */
@@ -1080,7 +1080,7 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id
ie->value.choice.GlobalMCE_ID.mCE_ID.size=2;
//ie->value.choice.GlobalMCE_ID.mCE_ID.bits_unused=6;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* optional */
/* c2. MCEname */
@@ -1091,7 +1091,7 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id
// ie->value.present = M2AP_MCEConfigurationUpdate_Ies__value_PR_MCEname;
// OCTET_STRING_fromBuf(&ie->value.choice.MCEname, m2ap_setup_resp->MCEname,
// strlen(m2ap_setup_resp->MCEname));
// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
// asn1cSeqAdd(&out->protocolIEs.list, ie);
//}
/* mandatory */
@@ -1122,10 +1122,10 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id
//memset(&config_per_mbsfn_area_item->subframeAllocationInfo,0,sizeof(BIT_STRING_t));
config_per_mbsfn_area_item->modulationAndCodingScheme = M2AP_MCCHrelatedBCCH_ConfigPerMBSFNArea_Item__modulationAndCodingScheme_n2;
ASN_SEQUENCE_ADD(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies);
asn1cSeqAdd(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* encode */
@@ -1428,7 +1428,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d
//ie->value.choice.MCCH_Update_Time = ;
//ie->value.choice.MCCH_Update_Time = m2ap_mbms_scheduling_information->mcch_update_time;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
@@ -1438,7 +1438,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d
ie->criticality = M2AP_Criticality_reject;
ie->value.present = M2AP_MbmsServiceCountingRequest_Ies__value_PR_MBSFN_Area_ID;
//ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
/* mandatory */
/* c2. TMGI (integrer value) */
@@ -1451,7 +1451,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d
//&ie->choice.TMGI.pLMN_Identity);
//INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
asn1cSeqAdd(&out->protocolIEs.list, ie);
if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) {
LOG_E(M2AP, "Failed to encode MBMS Service Counting Results Report\n");