Merge pull request #1867 from silvergasp/thread_local_globals

fix: Change all static variables to thread when fuzzing
This commit is contained in:
Ha Thach
2023-02-22 12:54:32 +07:00
committed by GitHub
19 changed files with 67 additions and 57 deletions

View File

@@ -61,6 +61,13 @@
#define TU_VERIFY_STATIC(const_expr, _mess) enum { TU_XSTRCAT(_verify_static_, _TU_COUNTER_) = 1/(!!(const_expr)) }
#endif
/* --------------------- Fuzzing types -------------------------------------- */
#ifdef _FUZZ
#define _fuzz_thread __thread
#else
#define _fuzz_thread
#endif
// for declaration of reserved field, make use of _TU_COUNTER_
#define TU_RESERVED TU_XSTRCAT(reserved, _TU_COUNTER_)

View File

@@ -114,7 +114,7 @@ typedef struct
static inline const char* tu_lookup_find(tu_lookup_table_t const* p_table, uint32_t key)
{
static char not_found[11];
static _fuzz_thread char not_found[11];
for(uint16_t i=0; i<p_table->count; i++)
{

View File

@@ -529,13 +529,13 @@ TU_ATTR_ALWAYS_INLINE static inline uint16_t tu_edpt_packet_size(tusb_desc_endpo
#if CFG_TUSB_DEBUG
TU_ATTR_ALWAYS_INLINE static inline const char *tu_edpt_dir_str(tusb_dir_t dir)
{
static const char *str[] = {"out", "in"};
static _fuzz_thread const char *str[] = {"out", "in"};
return str[dir];
}
TU_ATTR_ALWAYS_INLINE static inline const char *tu_edpt_type_str(tusb_xfer_type_t t)
{
static const char *str[] = {"control", "isochronous", "bulk", "interrupt"};
static _fuzz_thread const char *str[] = {"control", "isochronous", "bulk", "interrupt"};
return str[t];
}
#endif