queue_new(): fix NULL dereference on allocation failure
diff mbox

Message ID 1461582010-3322-1-git-send-email-nhofmeyr@sysmocom.de
State New
Headers show

Commit Message

Neels Hofmeyr April 25, 2016, 11 a.m. UTC
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(-)

Patch
diff mbox

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 */