diff --git a/ci-scripts/cppcheck_suppressions.list b/ci-scripts/cppcheck_suppressions.list index 4ab519a2c4..beae4e11e7 100644 --- a/ci-scripts/cppcheck_suppressions.list +++ b/ci-scripts/cppcheck_suppressions.list @@ -1,8 +1,92 @@ -// suppress error about keysP memory leak, free must be done by calling func */ +// *INDENT-OFF* cppcheck doesn't like "astyling" this file!!!! +// /* +// * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more +// * contributor license agreements. See the NOTICE file distributed with +// * this work for additional information regarding copyright ownership. +// * The OpenAirInterface Software Alliance licenses this file to You under +// * the OAI Public License, Version 1.1 (the "License"); you may not use this file +// * except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.openairinterface.org/?page_id=698 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// *------------------------------------------------------------------------------- +// * For more information about the OpenAirInterface (OAI) Software Alliance: +// * contact@openairinterface.org +// */ +//***************************************************************************** +//***************************************************************************** +// section for "valid" memory leaks: the related functions are allocators and +// the caller is responsible of freeing the memory. cppcheck has a mechanism +// to check more accuretaly this, by defining callers responsible of freeing +// but tools like valgring might be more suitable +// +//----------------------------------------------------------------------------- +// suppress error about keysP memory leak, free must be done by calling func memleak:common/utils/hashtable/obj_hashtable.c -// suppress error about keys memory leak, free must be done by calling func */ +//----------------------------------------------------------------------------- +// suppress error about keys memory leak, free must be done by calling func memleak:openair2/UTIL/OMG/omg_hashtable.c -// followings errors are in file not used in oai exec's included in CI +//----------------------------------------------------------------------------- +// suppress error about data memory leak. This is the buffer where +// _emm_as_encode function creates the encoded buffer +// +memleak:openair3/NAS/UE/EMM/SAP/emm_as.c +//----------------------------------------------------------------------------- +//***************************************************************************** +// section for files not used in oai exec's included in CI. +// Possibly candidates for removal otherwise should be documented and updated +// for project rules enforcement +// ---------------------------------------------------------------------------- +// likely sources for test programs, maintained? invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/ltetest.c memleak:openair1/PHY/CODING/TESTBENCH/ltetest.c invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/pdcch_test.c +// +//----------------------------------------------------------------------------- +// oaisim deprecated, remove? +doubleFree:openair3/TEST/oaisim_mme_list_benchmark.c +// +//----------------------------------------------------------------------------- +// is itti analyzer deprecated +nullPointer:common/utils/itti_analyzer/itti_analyzer.c +nullPointerRedundantCheck:common/utils/itti_analyzer/libbuffers/buffers.c +doubleFree:common/utils/itti_analyzer/libbuffers/socket.c +memleak:common/utils/itti_analyzer/libbuffers/socket.c +memleak:common/utils/itti_analyzer/libparser/array_type.c +memleak:common/utils/itti_analyzer/libui/ui_callbacks.c +//----------------------------------------------------------------------------- +// obviously never even compiled!!! +syntaxError:openair1/SIMULATION/LTE_PHY/dlsim_tm4.c +//----------------------------------------------------------------------------- +// omg, otg commented out in cmakelist to be cleaned up definitely? +arrayIndexOutOfBounds:openair2/UTIL/OMG/omg.c +uninitvar:openair2/UTIL/OTG/otg_rx_socket.c +// +//***************************************************************************** +// +// True problems we don't know how to fix, Suppression is commented out, +// as these kind of problem need either to be fixed or can be suppressed +// when fully uderstood +//----------------------------------------------------------------------------- +// the function [nv]fapi_pnf_p7_config_create should return +// _this. _this points to a structure and a dynamically allocated field is +// returned. cppcheck suspects _this will never be released, so do i +// memleak:nfapi/open-nFAPI/pnf/src/pnf_p7_interface.c +// memleak:nfapi/open-nFAPI/vnf/src/vnf_p7_interface.c +//----------------------------------------------------------------------------- +// may be security_data->kenb.value is released from calling functions. But even +// when, for test, freeing it before returning from emm_proc_security_mode_command +// which does the allocation, cppcheck complains. So something might be wrong... +// memleak:openair3/NAS/UE/EMM/SecurityModeControl.c +//----------------------------------------------------------------------------- +// when used, nobody but the original developer can guess if sn_data_cnf is set or not +// cppcheck found that in some cases it is not, code needs cleanup before fixing that... +// uninitvar:openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c +//***************************************************************************** +// *INDENT-ON* diff --git a/openair1/PHY/CODING/lte_segmentation.c b/openair1/PHY/CODING/lte_segmentation.c index 905f177b37..0f9f8b00e0 100644 --- a/openair1/PHY/CODING/lte_segmentation.c +++ b/openair1/PHY/CODING/lte_segmentation.c @@ -126,6 +126,7 @@ int lte_segmentation(unsigned char *input_buffer, #ifdef DEBUG_SEGMENTATION printf("C %u, Cplus %u, Cminus %u, Kplus %u, Kminus %u, Bprime_bytes %u, Bprime %u, F %u\n", *C,*Cplus,*Cminus,*Kplus,*Kminus,Bprime>>3,Bprime,*F); +#endif if ((input_buffer) && (output_buffers)) { for (k=0; k<*F>>3; k++) { diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index 97419248dd..2639e318c9 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -171,8 +171,7 @@ void rx_prach0(PHY_VARS_eNB *eNB, if (((eNB->proc.frame_prach)&1023) < 20) LOG_I(PHY,"PRACH (eNB) : running rx_prach for subframe %d, prach_FreqOffset %d, prach_ConfigIndex %d , rootSequenceIndex %d\n", subframe,fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset,prach_ConfigIndex,rootSequenceIndex); } } - } - } else { + } else { #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0)) if (br_flag == 1) { diff --git a/targets/RT/USER/lte-softmodem.h b/targets/RT/USER/lte-softmodem.h index 1846dc83d6..85ee4765f0 100644 --- a/targets/RT/USER/lte-softmodem.h +++ b/targets/RT/USER/lte-softmodem.h @@ -137,7 +137,7 @@ #define CMDLINE_UEPARAMS_DESC { \ {"siml1", CONFIG_HLP_SIML1, PARAMFLAG_BOOL, iptr:&simL1flag, defintval:0, TYPE_INT, 0}, \ - {"U", CONFIG_HLP_NUMUE, 0, u8ptr:(uint8_t *)&(NB_UE_INST), defuintval:1, TYPE_UINT8, 0}, \ + {"U", CONFIG_HLP_NUMUE, 0, u16ptr:&NB_UE_INST, defuintval:1, TYPE_UINT16, 0}, \ {"ue-rxgain", CONFIG_HLP_UERXG, 0, dblptr:&(rx_gain[0][0]), defdblval:130, TYPE_DOUBLE, 0}, \ {"ue-rxgain-off", CONFIG_HLP_UERXGOFF, 0, dblptr:&rx_gain_off, defdblval:0, TYPE_DOUBLE, 0}, \ {"ue-txgain", CONFIG_HLP_UETXG, 0, dblptr:&(tx_gain[0][0]), defdblval:0, TYPE_DOUBLE, 0}, \ @@ -147,7 +147,7 @@ {"ue-max-power", NULL, 0, iptr:&(tx_max_power[0]), defintval:23, TYPE_INT, 0}, \ {"emul-iface", CONFIG_HLP_EMULIFACE, 0, strptr:&emul_iface, defstrval:"lo", TYPE_STRING, 100}, \ {"L2-emul", NULL, 0, u8ptr:&nfapi_mode, defuintval:3, TYPE_UINT8, 0}, \ - {"num-ues", NULL, 0, u8ptr:(uint8_t *)&(NB_UE_INST), defuintval:1, TYPE_UINT8, 0}, \ + {"num-ues", NULL, 0, u16ptr:&(NB_UE_INST), defuintval:1, TYPE_UINT16, 0}, \ {"nums_ue_thread", NULL, 0, u16ptr:&(NB_THREAD_INST), defuintval:1, TYPE_UINT16, 0}, \ {"r" , CONFIG_HLP_PRB, 0, u8ptr:&(frame_parms[0]->N_RB_DL), defintval:25, TYPE_UINT8, 0}, \ {"dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \ @@ -201,8 +201,6 @@ {"C" , CONFIG_HLP_DLF, 0, uptr:&(downlink_frequency[0][0]), defuintval:2680000000, TYPE_UINT, 0}, \ {"a" , CONFIG_HLP_CHOFF, 0, iptr:&CHAIN_OFFSET, defintval:0, TYPE_INT, 0}, \ {"d" , CONFIG_HLP_SOFTS, PARAMFLAG_BOOL, uptr:(uint32_t *)&DO_FORMS, defintval:0, TYPE_INT8, 0}, \ - {"W" , CONFIG_HLP_L2MONW, 0, strptr:(char **)&in_ip, defstrval:"127.0.0.1", TYPE_STRING, sizeof(in_ip)}, \ - {"P" , CONFIG_HLP_L2MONP, 0, strptr:(char **)&in_path, defstrval:"/tmp/oai_opt.pcap", TYPE_STRING, sizeof(in_path)}, \ {"q" , CONFIG_HLP_STMON, PARAMFLAG_BOOL, iptr:&opp_enabled, defintval:0, TYPE_INT, 0}, \ {"S" , CONFIG_HLP_MSLOTS, PARAMFLAG_BOOL, u8ptr:&exit_missed_slots, defintval:1, TYPE_UINT8, 0}, \ {"numerology" , CONFIG_HLP_NUMEROLOGY, PARAMFLAG_BOOL, iptr:&NUMEROLOGY, defintval:0, TYPE_INT, 0}, \ @@ -260,7 +258,6 @@ typedef struct { uint32_t do_forms; int numerology; unsigned int start_msc; - int nonbiotflag; uint32_t clock_source; int hw_timing_advance; } softmodem_params_t; @@ -296,11 +293,6 @@ extern int sync_var; extern int transmission_mode; extern double cpuf; -#if defined(ENABLE_ITTI) - extern volatile int start_eNB; - extern volatile int start_UE; -#endif - // In lte-enb.c extern void init_eNB(int single_thread_flag,int wait_for_sync); extern void stop_eNB(int);