Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions wolfcrypt/src/wc_port.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,11 @@ int wc_local_InitUp(wc_init_state_t *s)
* WC_INIT_ERROR_WHEN_CONTENDED.
*/
for (;;) {
wc_static_assert(WC_INIT_STATE_STATE_BITS + WC_INIT_STATE_COUNT_BITS ==
sizeof(WC_ATOMIC_UINT_ARG) * 8);
wc_static_assert(WC_INIT_STATE_STATE_BITS < sizeof(WC_ATOMIC_UINT_ARG) * 8);
#ifdef CHAR_BIT
wc_static_assert(WC_INIT_STATE_STATE_BITS + WC_INIT_STATE_COUNT_BITS <=
sizeof(WC_ATOMIC_UINT_ARG) * CHAR_BIT);
#endif
if (exp_wc_init_state.c.count ==
(((WC_ATOMIC_UINT_ARG)1 << WC_INIT_STATE_COUNT_BITS)
- (WC_ATOMIC_UINT_ARG)1))
Expand Down
12 changes: 7 additions & 5 deletions wolfssl/wolfcrypt/wc_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -516,11 +516,13 @@
typedef wolfSSL_Mutex wolfSSL_RwLock;
#endif

#ifdef WC_16BIT_CPU
#define WC_ATOMIC_INT_ARG long int
#define WC_ATOMIC_UINT_ARG long unsigned int
#else
#if defined(WC_ATOMIC_INT_ARG) != defined(WC_ATOMIC_UINT_ARG)
#error WC_ATOMIC_INT_ARG and WC_ATOMIC_UINT_ARG overrides must be paired.
#endif
#ifndef WC_ATOMIC_INT_ARG
#define WC_ATOMIC_INT_ARG int
#endif
#ifndef WC_ATOMIC_UINT_ARG
#define WC_ATOMIC_UINT_ARG unsigned int
#endif

Expand Down Expand Up @@ -998,7 +1000,7 @@ WOLFSSL_API mutex_cb* wc_GetMutexCb(void);
#define WC_INIT_STATE_CLEANING_UP 3U
#define WC_INIT_STATE_BAD_STATE 4U
#define WC_INIT_STATE_STATE_BITS 3
#define WC_INIT_STATE_COUNT_BITS 29
#define WC_INIT_STATE_COUNT_BITS ((sizeof(WC_ATOMIC_UINT_ARG) * 8) - WC_INIT_STATE_STATE_BITS)
union wc_init_state_bitfields {
WC_ATOMIC_UINT_ARG u;
struct {
Expand Down
Loading