diff --git a/src/amf/context.c b/src/amf/context.c index c1075554c..dd80ecb8e 100644 --- a/src/amf/context.c +++ b/src/amf/context.c @@ -2437,6 +2437,9 @@ amf_m_tmsi_t *amf_m_tmsi_alloc(void) int amf_m_tmsi_free(amf_m_tmsi_t *m_tmsi) { ogs_assert(m_tmsi); + + /* Restore M-TMSI by Issue #2307 */ + *m_tmsi &= 0x003fffff; ogs_pool_free(&m_tmsi_pool, m_tmsi); return OGS_OK; diff --git a/src/mme/mme-context.c b/src/mme/mme-context.c index 3257d766b..9986ac401 100644 --- a/src/mme/mme-context.c +++ b/src/mme/mme-context.c @@ -3956,6 +3956,9 @@ mme_m_tmsi_t *mme_m_tmsi_alloc(void) int mme_m_tmsi_free(mme_m_tmsi_t *m_tmsi) { ogs_assert(m_tmsi); + + /* Restore M-TMSI by Issue #2307 */ + *m_tmsi &= 0x003fffff; ogs_pool_free(&m_tmsi_pool, m_tmsi); return OGS_OK;