Fixed a problem of double free.
This commit is contained in:
@@ -769,7 +769,11 @@ pdcp_data_ind(
|
|||||||
*/
|
*/
|
||||||
if (nfapi_mode == 3) {
|
if (nfapi_mode == 3) {
|
||||||
#ifdef UESIM_EXPANSION
|
#ifdef UESIM_EXPANSION
|
||||||
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = 0;
|
if (UE_NAS_USE_TUN) {
|
||||||
|
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id;
|
||||||
|
} else {
|
||||||
|
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = 0;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id;
|
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t *const ctxt_pP) {
|
|||||||
int pdcp_nb_sdu_sent = 0;
|
int pdcp_nb_sdu_sent = 0;
|
||||||
int ret=0;
|
int ret=0;
|
||||||
|
|
||||||
while ((sdu_p = list_get_head (&pdcp_sdu_list)) != NULL) {
|
while ((sdu_p = list_get_head (&pdcp_sdu_list)) != NULL && ((pdcp_data_ind_header_t *)(sdu_p->data))->inst == ctxt_pP->module_id) {
|
||||||
((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0;
|
((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0;
|
||||||
int rb_id = ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id;
|
int rb_id = ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id;
|
||||||
int sizeToWrite= sizeof (pdcp_data_ind_header_t) +
|
int sizeToWrite= sizeof (pdcp_data_ind_header_t) +
|
||||||
|
|||||||
Reference in New Issue
Block a user