From 5f027eea5a8e54151f990b1329b18caa491710a3 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 10 Dec 2013 22:40:29 +0100 Subject: [PATCH 1/1] Fix segfault at end of simulation. Happens when msg_global is NULL, and only with MSG_USE_DEPECATED. --- src/msg/msg_host.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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); -- 2.20.1