diff --git a/openair3/NAS/UE/EMM/IdleMode.c b/openair3/NAS/UE/EMM/IdleMode.c
index 8cff0b4ca51457c82e87d3ea14bf486207021e04..e087fe26cd24c9a39a58c7b69b00305b53398c7d 100644
--- a/openair3/NAS/UE/EMM/IdleMode.c
+++ b/openair3/NAS/UE/EMM/IdleMode.c
@@ -109,7 +109,7 @@ void IdleMode_initialize(nas_user_t *user, IdleMode_callback_t cb)
   emm_plmn_list_t *emm_plmn_list = calloc(1, sizeof(emm_plmn_list_t));
   if ( emm_plmn_list == NULL ) {
     LOG_TRACE(ERROR, "EMM  - Can't alloc emm_plmn_list");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
   user->emm_plmn_list = emm_plmn_list;
   /* Initialize the list of available PLMNs */
diff --git a/openair3/NAS/UE/EMM/emm_main.c b/openair3/NAS/UE/EMM/emm_main.c
index 7ec228d963d7fb97f6ef4afca95de8fa346992c7..3b2b87c6f02372764bae46b881b0031c9e4fe790 100644
--- a/openair3/NAS/UE/EMM/emm_main.c
+++ b/openair3/NAS/UE/EMM/emm_main.c
@@ -137,7 +137,7 @@ void emm_main_initialize(nas_user_t *user, emm_indication_callback_t cb, const c
   user->emm_data = calloc(1, sizeof(emm_data_t));
   if ( user->emm_data == NULL ) {
     LOG_TRACE(ERROR, "EMM-MAIN  - Failed to get allocate emm_data");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
   /* USIM validity indicator */
   user->emm_data->usim_is_valid = FALSE;
@@ -400,7 +400,7 @@ void emm_main_initialize(nas_user_t *user, emm_indication_callback_t cb, const c
   user->emm_data->emm_timers = calloc(1, sizeof(emm_timers_t));
   if ( user->emm_data->emm_timers == NULL ) {
     LOG_TRACE(ERROR, "EMM-MAIN - Failed to alloc emm_timers");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
   _emm_timers_initialize(user->emm_data->emm_timers);
 
@@ -410,7 +410,7 @@ void emm_main_initialize(nas_user_t *user, emm_indication_callback_t cb, const c
   user->emm_data->emm_detach_data = calloc(1, sizeof(emm_detach_data_t));
   if ( user->emm_data->emm_detach_data == NULL ) {
     LOG_TRACE(ERROR, "EMM-MAIN - Failed to alloc emm_timers");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
   _emm_detach_initialize(user->emm_data->emm_detach_data);
 
@@ -420,7 +420,7 @@ void emm_main_initialize(nas_user_t *user, emm_indication_callback_t cb, const c
   user->emm_data->emm_attach_data = calloc(1, sizeof(emm_attach_data_t));
   if ( user->emm_data->emm_attach_data == NULL ) {
     LOG_TRACE(ERROR, "EMM-MAIN - Failed to alloc emm_timers");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
   _emm_attach_initialize(user->emm_data->emm_attach_data);
 
diff --git a/openair3/NAS/UE/ESM/esm_ebr.c b/openair3/NAS/UE/ESM/esm_ebr.c
index 1cf1d4a4e5d77c617442901c0c3e7f5ba0047957..7c04043233a7dca72a499a06946b1ec0fbc6652f 100644
--- a/openair3/NAS/UE/ESM/esm_ebr.c
+++ b/openair3/NAS/UE/ESM/esm_ebr.c
@@ -119,7 +119,7 @@ esm_ebr_data_t *esm_ebr_initialize(void)
 
   if ( esm_ebr_data == NULL ) {
     LOG_TRACE(ERROR, "ESM-EBR  - Can't malloc esm_ebr_data");
-    // FIXME Stop here !!!
+    exit(EXIT_FAILURE);
   }
 
   esm_ebr_data->index = 0;
diff --git a/openair3/NAS/UE/ESM/esm_main.c b/openair3/NAS/UE/ESM/esm_main.c
index 1b4099ce5b1ddb1772c7be053993b891af8cb67f..96d387a0e3227e435aa9f416fd51956895e6c26e 100644
--- a/openair3/NAS/UE/ESM/esm_main.c
+++ b/openair3/NAS/UE/ESM/esm_main.c
@@ -81,14 +81,14 @@ void esm_main_initialize(nas_user_t *user, esm_indication_callback_t cb)
   esm_data_t *esm_data = calloc(1, sizeof(esm_data_t));
   if ( esm_data == NULL ) {
     LOG_TRACE(ERROR, "ESM-MAIN  - Can't malloc esm_data");
-    // FIXME Stop here !!!
+    exit(EXIT_FAILURE);
   }
   user->esm_data = esm_data;
 
   default_eps_bearer_context_data_t *default_eps_bearer_context = calloc(1, sizeof(default_eps_bearer_context_data_t));
   if ( default_eps_bearer_context == NULL ) {
     LOG_TRACE(ERROR, "ESM-MAIN  - Can't malloc default_eps_bearer_context");
-    // FIXME Stop here !!!
+    exit(EXIT_FAILURE);
   }
   default_eps_bearer_context->ebi = ESM_EBI_UNASSIGNED;
   user->default_eps_bearer_context_data = default_eps_bearer_context;
diff --git a/openair3/NAS/UE/ESM/esm_pt.c b/openair3/NAS/UE/ESM/esm_pt.c
index 331ac6d8cf2ac06615fb90d54370f5626f3a1b0c..12cebc9aa1d750c46a3146c8120f939477332747 100644
--- a/openair3/NAS/UE/ESM/esm_pt.c
+++ b/openair3/NAS/UE/ESM/esm_pt.c
@@ -89,7 +89,7 @@ esm_pt_data_t *esm_pt_initialize(void)
 
   if ( esm_pt_data == NULL ) {
     LOG_TRACE(ERROR, "ESM-PT  - Can't alloc esm_pt_data");
-    // FIXME Stop here !!!
+    exit(EXIT_FAILURE);
   }
 
   esm_pt_data->index = 0;
diff --git a/openair3/NAS/UE/nas_proc.c b/openair3/NAS/UE/nas_proc.c
index 44d3201c4ad6b58a591b57c54358ca3f15d6ae6a..bea7770b0db5c8a0001dd91042b4ba51919f958e 100644
--- a/openair3/NAS/UE/nas_proc.c
+++ b/openair3/NAS/UE/nas_proc.c
@@ -100,13 +100,13 @@ void nas_proc_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
   user->authentication_data = calloc(1, sizeof(authentication_data_t));
   if ( user->authentication_data == NULL ) {
     LOG_TRACE(ERROR, "NAS-PROC - Failed to alloc authentication_data");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
 
   user->security_data = calloc(1, sizeof(security_data_t));
   if ( user->security_data == NULL ) {
     LOG_TRACE(ERROR, "NAS-PROC - Failed to alloc security_data");
-    // FIXME stop here
+    exit(EXIT_FAILURE);
   }
 
   /* Initialize the EMM procedure manager */
diff --git a/openair3/NAS/UE/nas_ue_task.c b/openair3/NAS/UE/nas_ue_task.c
index 6b4b7d97d909e94f26f37fe69417e9d23485410a..bca60babc7b579a5b797c100d6b451f964d66024 100644
--- a/openair3/NAS/UE/nas_ue_task.c
+++ b/openair3/NAS/UE/nas_ue_task.c
@@ -83,7 +83,7 @@ void *nas_ue_task(void *args_p)
 
        if (user_api_id == NULL) {
          LOG_E(NAS, "[UE] Failed to alloc user_api_id_t");
-         // FIXME stop here
+         exit(EXIT_FAILURE);
       }
 
       user->user_api_id = user_api_id;
@@ -100,13 +100,13 @@ void *nas_ue_task(void *args_p)
     user->user_at_commands = calloc(1, sizeof(user_at_commands_t));
     if ( user->user_at_commands == NULL ) {
         LOG_E(NAS, "[UE %d] Can't allocate memory for user_at_commands\n", 0);
-        // FIXME stop here
+        exit(EXIT_FAILURE);
     }
 
     user->at_response = calloc(1, sizeof(at_response_t));
     if ( user->at_response == NULL ) {
         LOG_E(NAS, "[UE %d] Can't allocate memory for user_at_commands\n", 0);
-        // FIXME stop here
+        exit(EXIT_FAILURE);
     }
 
     /* Initialize NAS user */
diff --git a/openair3/NAS/UE/nas_user.c b/openair3/NAS/UE/nas_user.c
index 120037d366c487e5c7933b8408e10c54b17f6fee..f7fb6a07591ab9dd718ff4f50bf38968bc69617d 100644
--- a/openair3/NAS/UE/nas_user.c
+++ b/openair3/NAS/UE/nas_user.c
@@ -161,8 +161,7 @@ void nas_user_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
   user->nas_user_nvdata = calloc(1, sizeof(user_nvdata_t));
   if ( user->nas_user_nvdata == NULL ) {
     LOG_TRACE(ERROR, "USR-MAIN - Failed to alloc nas_user_nvdata");
-    // FIXME stop here
-    return;
+    exit(EXIT_FAILURE);
   }
 
   /* Get UE's data pathname */
@@ -170,8 +169,7 @@ void nas_user_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
 
   if (path == NULL) {
     LOG_TRACE(ERROR, "USR-MAIN  - Failed to get UE's data pathname");
-    // FIXME return an error code or exit
-    return;
+    exit(EXIT_FAILURE);
   }
 
   /* Get UE data stored in the non-volatile memory device */
@@ -184,8 +182,7 @@ void nas_user_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
   user->nas_user_context = calloc(1, sizeof(nas_user_context_t));
   if ( user->nas_user_context == NULL ) {
     LOG_TRACE(ERROR, "USR-MAIN - Failed to alloc nas_user_context");
-    // FIXME stop here
-    return;
+    exit(EXIT_FAILURE);
   }
   _nas_user_context_initialize(user->nas_user_context, version);