From 9d5d78f5db99097912791d5506bd05b290e1376a Mon Sep 17 00:00:00 2001 From: David Price <davpric2@cisco.com> Date: Mon, 23 Oct 2017 14:16:07 +0100 Subject: [PATCH] Stack smashing error reported. Fixed by parameter changing int to uint16_t. Not obvious! --- nfapi/nfapi_pnf.c | 2 +- nfapi/nfapi_vnf.c | 4 ++-- openair2/LAYER2/MAC/eNB_scheduler_RA.c | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/nfapi/nfapi_pnf.c b/nfapi/nfapi_pnf.c index 06e9912e703..4610382b679 100644 --- a/nfapi/nfapi_pnf.c +++ b/nfapi/nfapi_pnf.c @@ -1109,7 +1109,7 @@ int pnf_phy_tx_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_tx_request_t* req) return 0; } -extern void subtract_subframe(int *frameP, int *subframeP, int offset); +extern void subtract_subframe(uint16_t *frameP, uint16_t *subframeP, int offset); int pnf_phy_ul_config_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_ul_config_request_t* req) { diff --git a/nfapi/nfapi_vnf.c b/nfapi/nfapi_vnf.c index 57b64bb0f85..e3c03ad4b3e 100644 --- a/nfapi/nfapi_vnf.c +++ b/nfapi/nfapi_vnf.c @@ -291,8 +291,8 @@ int vnf_unpack_vendor_extension_tlv(nfapi_tl_t* tl, uint8_t **ppReadPackedMessag void install_schedule_handlers(IF_Module_t *if_inst); extern int single_thread_flag; extern void init_eNB_afterRU(void); -extern void add_subframe(int *frameP, int *subframeP, int offset); -extern void subtract_subframe(int *frameP, int *subframeP, int offset); +extern void add_subframe(uint16_t *frameP, uint16_t *subframeP, int offset); +extern void subtract_subframe(uint16_t *frameP, uint16_t *subframeP, int offset); void oai_create_enb(void) { diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index f1142733d1d..8d05c4aa8f6 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -63,20 +63,20 @@ #include "T.h" -void add_subframe(int *frameP, int *subframeP, int offset) +void add_subframe(uint16_t *frameP, uint16_t *subframeP, int offset) { *frameP = *frameP + ((*subframeP + offset) / 10); *subframeP = ((*subframeP + offset) % 10); } -uint16_t sfnsf_add_subframe(int frameP, int subframeP, int offset) +uint16_t sfnsf_add_subframe(uint16_t frameP, uint16_t subframeP, int offset) { add_subframe(&frameP, &subframeP, offset); return frameP<<4|subframeP; } -void subtract_subframe(int *frameP, int *subframeP, int offset) +void subtract_subframe(uint16_t *frameP, uint16_t *subframeP, int offset) { if (*subframeP < offset) { @@ -85,7 +85,7 @@ void subtract_subframe(int *frameP, int *subframeP, int offset) *subframeP = (*subframeP+10-offset)%10; } -uint16_t sfnsf_subtrace_subframe(int frameP, int subframeP, int offset) +uint16_t sfnsf_subtract_subframe(uint16_t frameP, uint16_t subframeP, int offset) { subtract_subframe(&frameP, &subframeP, offset); return frameP<<4|subframeP; -- GitLab