From f94d07b0fc03eb34a34ca9c3065687785d1cd873 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 1 Jan 2017 05:58:12 +0100 Subject: [PATCH] Cleanup msg_queue_new --- libretro-common/queues/message_queue.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libretro-common/queues/message_queue.c b/libretro-common/queues/message_queue.c index 9b27745cb7..9ea7e4ce11 100644 --- a/libretro-common/queues/message_queue.c +++ b/libretro-common/queues/message_queue.c @@ -54,20 +54,25 @@ struct msg_queue **/ msg_queue_t *msg_queue_new(size_t size) { - msg_queue_t *queue = (msg_queue_t*)calloc(1, sizeof(*queue)); + struct queue_elem **elems = NULL; + msg_queue_t *queue = (msg_queue_t*)calloc(1, sizeof(*queue)); + if (!queue) return NULL; queue->size = size + 1; - queue->elems = (struct queue_elem**) - calloc(queue->size,sizeof(struct queue_elem*)); - if (!queue->elems) + elems = (struct queue_elem**)calloc(queue->size, + sizeof(struct queue_elem*)); + + if (!elems) { free(queue); return NULL; } - queue->ptr = 1; + + queue->elems = elems; + queue->ptr = 1; return queue; }