Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
seems that get_data can return NULL, add guards
authorsuter <frederic.suter@cc.in2p3.fr>
Mon, 7 Oct 2013 14:35:39 +0000 (16:35 +0200)
committersuter <frederic.suter@cc.in2p3.fr>
Mon, 7 Oct 2013 14:38:46 +0000 (16:38 +0200)
src/msg/msg_process.c

index c72865c..2cefbc7 100644 (file)
@@ -46,12 +46,12 @@ void MSG_process_cleanup_from_SIMIX(smx_process_t smx_proc)
   TRACE_msg_process_end(smx_proc);
 #endif
   // free the data if a function was provided
-  if (msg_proc->data && msg_global->process_data_cleanup) {
+  if (msg_proc && msg_proc->data && msg_global->process_data_cleanup) {
     msg_global->process_data_cleanup(msg_proc->data);
   }
 
   // remove the process from its virtual machine
-  if (msg_proc->vm) {
+  if (msg_proc && msg_proc->vm) {
     int pos = xbt_dynar_search(msg_proc->vm->processes,&smx_proc);
     xbt_dynar_remove_at(msg_proc->vm->processes,pos, NULL);
   }