From f89dc4e127eea6addea6a7b45eb96da8c1053ba4 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 25 Apr 2016 13:00:10 +0200 Subject: [PATCH] queue_new(): fix NULL dereference on allocation failure Coverity complains about a 'Dereference before null check' on *queue. So, push the NULL check further up. Though I doubt that 'return EOF' is the proper way to handle allocation failure, this patch is only about the NULL dereference. Fixes: CID#57918 --- gtp/queue.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtp/queue.c b/gtp/queue.c index 7c971b0..5b4d849 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -127,16 +127,15 @@ int queue_new(struct queue_t **queue) if (QUEUE_DEBUG) printf("queue_new\n"); *queue = calloc(1, sizeof(struct queue_t)); + if (!(*queue)) + return EOF; (*queue)->next = 0; (*queue)->first = -1; (*queue)->last = -1; if (QUEUE_DEBUG) queue_print(*queue); - if (*queue) - return 0; - else - return EOF; + return 0; } /*! \brief Deallocates queue structure */