From d8837c6888982c23c16b7556b431d563771e9bdc Mon Sep 17 00:00:00 2001 From: Flavio Ceolin Date: Tue, 18 Sep 2018 12:40:54 -0700 Subject: [PATCH] kernel: Using boolean expression on ASSERT macros ASSERT macro expects a boolean expression, making it explicit. MISRA-C rule 14.4 Signed-off-by: Flavio Ceolin --- include/clock_control.h | 2 +- include/entropy.h | 3 ++- include/misc/sflist.h | 4 ++-- kernel/mem_domain.c | 2 +- kernel/poll.c | 19 ++++++++++--------- kernel/thread.c | 2 +- kernel/thread_abort.c | 2 +- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/include/clock_control.h b/include/clock_control.h index 85de5882f92..9d792d2865a 100644 --- a/include/clock_control.h +++ b/include/clock_control.h @@ -83,7 +83,7 @@ static inline int clock_control_get_rate(struct device *dev, { const struct clock_control_driver_api *api = dev->driver_api; - __ASSERT(api->get_rate, "%s not implemented for device %s", + __ASSERT(api->get_rate != NULL, "%s not implemented for device %s", __func__, dev->config->name); return api->get_rate(dev, sys, rate); diff --git a/include/entropy.h b/include/entropy.h index 30d10fe4319..b73b5b2dff9 100644 --- a/include/entropy.h +++ b/include/entropy.h @@ -71,7 +71,8 @@ static inline int _impl_entropy_get_entropy(struct device *dev, { const struct entropy_driver_api *api = dev->driver_api; - __ASSERT(api->get_entropy, "Callback pointer should not be NULL"); + __ASSERT(api->get_entropy != NULL, + "Callback pointer should not be NULL"); return api->get_entropy(dev, buffer, length); } diff --git a/include/misc/sflist.h b/include/misc/sflist.h index 538a6daea96..f679a632787 100644 --- a/include/misc/sflist.h +++ b/include/misc/sflist.h @@ -281,7 +281,7 @@ static inline u8_t sys_sfnode_flags_get(sys_sfnode_t *node) */ static inline void sys_sfnode_init(sys_sfnode_t *node, u8_t flags) { - __ASSERT(!(flags & ~SYS_SFLIST_FLAGS_MASK), "flags too large"); + __ASSERT((flags & ~SYS_SFLIST_FLAGS_MASK) == 0, "flags too large"); node->next_and_flags = flags; } @@ -297,7 +297,7 @@ static inline void sys_sfnode_init(sys_sfnode_t *node, u8_t flags) */ static inline void sys_sfnode_flags_set(sys_sfnode_t *node, u8_t flags) { - __ASSERT(!(flags & ~SYS_SFLIST_FLAGS_MASK), "flags too large"); + __ASSERT((flags & ~SYS_SFLIST_FLAGS_MASK) == 0, "flags too large"); node->next_and_flags = (unative_t)(z_sfnode_next_peek(node)) | flags; } diff --git a/kernel/mem_domain.c b/kernel/mem_domain.c index 895eb271e0e..9eadd84d7d3 100644 --- a/kernel/mem_domain.c +++ b/kernel/mem_domain.c @@ -88,7 +88,7 @@ void k_mem_domain_init(struct k_mem_domain *domain, u8_t num_parts, u32_t i; for (i = 0; i < num_parts; i++) { - __ASSERT(parts[i], ""); + __ASSERT(parts[i] != NULL, ""); __ASSERT((parts[i]->start + parts[i]->size) > parts[i]->start, ""); diff --git a/kernel/poll.c b/kernel/poll.c index b329c827917..3a187394b42 100644 --- a/kernel/poll.c +++ b/kernel/poll.c @@ -31,7 +31,7 @@ void k_poll_event_init(struct k_poll_event *event, u32_t type, __ASSERT(mode == K_POLL_MODE_NOTIFY_ONLY, "only NOTIFY_ONLY mode is supported\n"); __ASSERT(type < (BIT(_POLL_NUM_TYPES)), "invalid type\n"); - __ASSERT(obj, "must provide an object\n"); + __ASSERT(obj != NULL, "must provide an object\n"); event->poller = NULL; /* event->tag is left uninitialized: the user will set it if needed */ @@ -105,15 +105,15 @@ static inline int register_event(struct k_poll_event *event, { switch (event->type) { case K_POLL_TYPE_SEM_AVAILABLE: - __ASSERT(event->sem, "invalid semaphore\n"); + __ASSERT(event->sem != NULL, "invalid semaphore\n"); add_event(&event->sem->poll_events, event, poller); break; case K_POLL_TYPE_DATA_AVAILABLE: - __ASSERT(event->queue, "invalid queue\n"); + __ASSERT(event->queue != NULL, "invalid queue\n"); add_event(&event->queue->poll_events, event, poller); break; case K_POLL_TYPE_SIGNAL: - __ASSERT(event->signal, "invalid poll signal\n"); + __ASSERT(event->signal != NULL, "invalid poll signal\n"); add_event(&event->signal->poll_events, event, poller); break; case K_POLL_TYPE_IGNORE: @@ -136,15 +136,15 @@ static inline void clear_event_registration(struct k_poll_event *event) switch (event->type) { case K_POLL_TYPE_SEM_AVAILABLE: - __ASSERT(event->sem, "invalid semaphore\n"); + __ASSERT(event->sem != NULL, "invalid semaphore\n"); sys_dlist_remove(&event->_node); break; case K_POLL_TYPE_DATA_AVAILABLE: - __ASSERT(event->queue, "invalid queue\n"); + __ASSERT(event->queue != NULL, "invalid queue\n"); sys_dlist_remove(&event->_node); break; case K_POLL_TYPE_SIGNAL: - __ASSERT(event->signal, "invalid poll signal\n"); + __ASSERT(event->signal != NULL, "invalid poll signal\n"); sys_dlist_remove(&event->_node); break; case K_POLL_TYPE_IGNORE: @@ -177,7 +177,7 @@ static inline void set_event_ready(struct k_poll_event *event, u32_t state) int _impl_k_poll(struct k_poll_event *events, int num_events, s32_t timeout) { __ASSERT(!_is_in_isr(), ""); - __ASSERT(events, "NULL events\n"); + __ASSERT(events != NULL, "NULL events\n"); __ASSERT(num_events > 0, "zero events\n"); int last_registered = -1, rc; @@ -327,7 +327,8 @@ static int signal_poll_event(struct k_poll_event *event, u32_t state) struct k_thread *thread = event->poller->thread; - __ASSERT(event->poller->thread, "poller should have a thread\n"); + __ASSERT(event->poller->thread != NULL, + "poller should have a thread\n"); event->poller->is_polling = 0; diff --git a/kernel/thread.c b/kernel/thread.c index 0fe86e2f580..c47daa76701 100644 --- a/kernel/thread.c +++ b/kernel/thread.c @@ -44,7 +44,7 @@ void k_thread_foreach(k_thread_user_cb_t user_cb, void *user_data) struct k_thread *thread; unsigned int key; - __ASSERT(user_cb, "user_cb can not be NULL"); + __ASSERT(user_cb != NULL, "user_cb can not be NULL"); /* * Lock is needed to make sure that the _kernel.threads is not being diff --git a/kernel/thread_abort.c b/kernel/thread_abort.c index 39d33dc59fd..97fb6f2d415 100644 --- a/kernel/thread_abort.c +++ b/kernel/thread_abort.c @@ -31,7 +31,7 @@ void _impl_k_thread_abort(k_tid_t thread) key = irq_lock(); - __ASSERT(!(thread->base.user_options & K_ESSENTIAL), + __ASSERT((thread->base.user_options & K_ESSENTIAL) == 0, "essential thread aborted"); _k_thread_single_abort(thread);