diff --git a/common/utils/itti/intertask_interface_dump.c b/common/utils/itti/intertask_interface_dump.c index 38b51bfad3ab9f5a6ea74e53f4156d64519d2d0c..b81c83646a14a9ef73c417fb68842eb6f64f3060 100644 --- a/common/utils/itti/intertask_interface_dump.c +++ b/common/utils/itti/intertask_interface_dump.c @@ -684,7 +684,10 @@ void itti_dump_user_data_delete_function(void *user_data, void *user_state) itti_dump_queue_item_t *item; item = (itti_dump_queue_item_t *)user_data; - free(item->data); + if (item->data != NULL) + { + free(item->data); + } free(item); } } @@ -692,10 +695,12 @@ void itti_dump_user_data_delete_function(void *user_data, void *user_state) void itti_dump_exit(void) { void *arg; - itti_dump_queue_item_t new; + itti_dump_queue_item_t *new; + + new = calloc(1, sizeof(itti_dump_queue_item_t)); /* Send the exit signal to other thread */ - itti_dump_enqueue_message(&new, 0, ITTI_DUMP_EXIT_SIGNAL); + itti_dump_enqueue_message(new, 0, ITTI_DUMP_EXIT_SIGNAL); ITTI_DUMP_DEBUG("waiting for dumper thread to finish\n");