From 13f522e81d86532a2eb93dfe32724b4822233a8a Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Sat, 16 Jul 2022 12:02:55 +0300 Subject: [PATCH] check queue before free in macro --- janus/src/queue.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/janus/src/queue.h b/janus/src/queue.h index e60f2fb..b31107b 100644 --- a/janus/src/queue.h +++ b/janus/src/queue.h @@ -48,14 +48,16 @@ typedef struct { #define QUEUE_FREE_ITEMS_AND_DESTROY(_queue, _free_item) { \ - while (!queue_get_free(_queue)) { \ - void *_ptr; \ - assert(!queue_get(_queue, &_ptr, 0.1)); \ - if (_ptr != NULL) { \ - _free_item(_ptr); \ + if (_queue) { \ + while (!queue_get_free(_queue)) { \ + void *_ptr; \ + assert(!queue_get(_queue, &_ptr, 0.1)); \ + if (_ptr != NULL) { \ + _free_item(_ptr); \ + } \ } \ + queue_destroy(_queue); \ } \ - queue_destroy(_queue); \ }