[CORE] Rollback ogs_pkbuf_copy() from (#2012)

In the previous #2012 working, I've added ogs_pkbuf_free() for original
buffer. But, this rasied double free. So, I've rollback it,
This commit is contained in:
Sukchan Lee 2023-01-24 00:17:10 +09:00
parent c6fd4ae6b8
commit 11aac6a164
6 changed files with 21 additions and 3 deletions

View File

@ -318,7 +318,6 @@ ogs_pkbuf_t *ogs_pkbuf_copy_debug(ogs_pkbuf_t *pkbuf, const char *file_line)
newbuf = ogs_pkbuf_alloc_debug(NULL, size, file_line);
if (!newbuf) {
ogs_error("ogs_pkbuf_alloc() failed [size=%d]", size);
ogs_pkbuf_free(pkbuf);
return NULL;
}
@ -345,7 +344,6 @@ ogs_pkbuf_t *ogs_pkbuf_copy_debug(ogs_pkbuf_t *pkbuf, const char *file_line)
ogs_pool_alloc(&pool->pkbuf, &newbuf);
if (!newbuf) {
ogs_error("ogs_pkbuf_copy() failed");
ogs_pkbuf_free(pkbuf);
ogs_thread_mutex_unlock(&pool->mutex);
return NULL;
}

View File

@ -108,6 +108,7 @@ int nas_5gs_send_registration_accept(amf_ue_t *amf_ue)
amf_ue->t3550.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3550.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3550.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3550.timer,
@ -373,6 +374,7 @@ int nas_5gs_send_de_registration_request(amf_ue_t *amf_ue,
amf_ue->t3522.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3522.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3522.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3522.timer,
@ -406,6 +408,7 @@ int nas_5gs_send_identity_request(amf_ue_t *amf_ue)
amf_ue->t3570.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3570.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3570.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3570.timer,
@ -439,6 +442,7 @@ int nas_5gs_send_authentication_request(amf_ue_t *amf_ue)
amf_ue->t3560.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3560.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3560.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3560.timer,
@ -495,6 +499,7 @@ int nas_5gs_send_security_mode_command(amf_ue_t *amf_ue)
amf_ue->t3560.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3560.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3560.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3560.timer,
@ -522,6 +527,7 @@ int nas_5gs_send_configuration_update_command(
amf_ue->t3555.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3555.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3555.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3555.timer,
@ -542,6 +548,7 @@ int nas_5gs_send_configuration_update_command(
amf_ue->t3555.pkbuf = ogs_pkbuf_copy(gmmbuf);
if (!amf_ue->t3555.pkbuf) {
ogs_error("ogs_pkbuf_copy(amf_ue->t3555.pkbuf) failed");
ogs_pkbuf_free(gmmbuf);
return OGS_ERROR;
}
ogs_timer_start(amf_ue->t3555.timer,

View File

@ -409,6 +409,7 @@ int ngap_send_paging(amf_ue_t *amf_ue)
amf_ue->t3513.pkbuf = ogs_pkbuf_copy(ngapbuf);
if (!amf_ue->t3513.pkbuf) {
ogs_error("ogs_pkbuf_copy() failed");
ogs_pkbuf_free(ngapbuf);
return OGS_ERROR;
}

View File

@ -1243,7 +1243,11 @@ void emm_state_initial_context_setup(ogs_fsm_t *s, mme_event_t *e)
}
mme_ue->t3450.pkbuf = ogs_pkbuf_copy(emmbuf);
ogs_assert(mme_ue->t3450.pkbuf);
if (!mme_ue->t3450.pkbuf) {
ogs_error("ogs_pkbuf_copy() failed");
ogs_pkbuf_free(emmbuf);
return;
}
ogs_timer_start(mme_ue->t3450.timer,
mme_timer_cfg(MME_TIMER_T3450)->duration);

View File

@ -139,6 +139,7 @@ int nas_eps_send_attach_accept(mme_ue_t *mme_ue)
mme_ue->t3450.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3450.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3450.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3450.timer,
@ -215,6 +216,7 @@ int nas_eps_send_identity_request(mme_ue_t *mme_ue)
mme_ue->t3470.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3470.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3470.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3470.timer,
@ -248,6 +250,7 @@ int nas_eps_send_authentication_request(mme_ue_t *mme_ue)
mme_ue->t3460.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3460.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3460.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3460.timer,
@ -281,6 +284,7 @@ int nas_eps_send_security_mode_command(mme_ue_t *mme_ue)
mme_ue->t3460.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3460.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3460.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3460.timer,
@ -333,6 +337,7 @@ int nas_eps_send_detach_request(mme_ue_t *mme_ue)
mme_ue->t3422.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3422.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3422.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3422.timer,
@ -446,6 +451,7 @@ int nas_eps_send_esm_information_request(mme_bearer_t *bearer)
bearer->t3489.pkbuf = ogs_pkbuf_copy(esmbuf);
if (!bearer->t3489.pkbuf) {
ogs_error("ogs_pkbuf_copy(bearer->t3489) failed");
ogs_pkbuf_free(esmbuf);
return OGS_ERROR;
}
ogs_timer_start(bearer->t3489.timer,
@ -669,6 +675,7 @@ int nas_eps_send_tau_accept(
mme_ue->t3450.pkbuf = ogs_pkbuf_copy(emmbuf);
if (!mme_ue->t3450.pkbuf) {
ogs_error("ogs_pkbuf_copy(mme_ue->t3450.pkbuf) failed");
ogs_pkbuf_free(emmbuf);
return OGS_ERROR;
}
ogs_timer_start(mme_ue->t3450.timer,

View File

@ -400,6 +400,7 @@ int s1ap_send_paging(mme_ue_t *mme_ue, S1AP_CNDomain_t cn_domain)
mme_ue->t3413.pkbuf = ogs_pkbuf_copy(s1apbuf);
if (!mme_ue->t3413.pkbuf) {
ogs_error("ogs_pkbuf_copy() failed");
ogs_pkbuf_free(s1apbuf);
return OGS_ERROR;
}