From 4a1f7d024315a8a280cf2ab1c5ba0c0d0c80fb7d Mon Sep 17 00:00:00 2001 From: Jerzy Kasenberg Date: Fri, 29 Nov 2019 16:25:08 +0100 Subject: [PATCH] Fix mynewt osal queue definition Queue table has pointers instead of data os_event structs. This resulted in crashes when elements were put to queue and overwritten variables that were just after mpool desiged for queue. --- src/osal/osal_mynewt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osal/osal_mynewt.h b/src/osal/osal_mynewt.h index da7977d39..e47e140c1 100644 --- a/src/osal/osal_mynewt.h +++ b/src/osal/osal_mynewt.h @@ -98,7 +98,7 @@ static inline bool osal_mutex_unlock(osal_mutex_t mutex_hdl) // role device/host is used by OS NONE for mutex (disable usb isr) only #define OSAL_QUEUE_DEF(_role, _name, _depth, _type) \ static _type _name##_##buf[_depth];\ - static struct os_event* _name##_##evbuf[_depth];\ + static struct os_event _name##_##evbuf[_depth];\ osal_queue_def_t _name = { .depth = _depth, .item_sz = sizeof(_type), .buf = _name##_##buf, .evbuf = _name##_##evbuf};\ typedef struct