From: Arnaud Giersch Date: Tue, 10 Dec 2013 21:40:29 +0000 (+0100) Subject: Fix segfault at end of simulation. X-Git-Tag: v3_11_beta~177 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/5f027eea5a8e54151f990b1329b18caa491710a3?hp=f89bfaee2e744ff4516d025623b33fe11e7a544c Fix segfault at end of simulation. Happens when msg_global is NULL, and only with MSG_USE_DEPECATED. --- diff --git a/src/msg/msg_host.c b/src/msg/msg_host.c index 8d6a6be3df..dc2e25de9a 100644 --- a/src/msg/msg_host.c +++ b/src/msg/msg_host.c @@ -35,8 +35,8 @@ msg_host_t __MSG_host_create(smx_host_t workstation) int i; char alias[MAX_ALIAS_NAME + 1] = { 0 }; /* buffer used to build the key of the mailbox */ - if (msg_global->max_channel > 0) - priv->mailboxes = xbt_new0(msg_mailbox_t, msg_global->max_channel); + priv->mailboxes = (msg_global->max_channel > 0) ? + xbt_new0(msg_mailbox_t, msg_global->max_channel) : NULL; for (i = 0; i < msg_global->max_channel; i++) { sprintf(alias, "%s:%d", name, i); @@ -147,8 +147,7 @@ void __MSG_host_priv_free(msg_host_priv_t priv) xbt_dict_free(&priv->affinity_mask_db); #ifdef MSG_USE_DEPRECATED - if (msg_global->max_channel > 0) - free(priv->mailboxes); + free(priv->mailboxes); #endif free(priv);