{2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0};
-static char *BF_crypt(const char *key, const char *setting,
+static char * ATTR_NO_SANITIZE_UNDEFINED ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
+BF_crypt(const char *key, const char *setting,
char *output, size_t size,
BF_word min)
{
* Peer address
*/
-unsigned int http_client_peer_addr_hash
-(const struct http_client_peer_addr *peer)
+unsigned int ATTR_NO_SANITIZE_INTEGER
+http_client_peer_addr_hash(const struct http_client_peer_addr *peer)
{
unsigned int hash = (unsigned int)peer->type;
count++; \
} while (0)
-int otp_read_words(const char *data, const char **endptr, unsigned char *hash)
+int ATTR_NO_SANITIZE_INTEGER
+otp_read_words(const char *data, const char **endptr, unsigned char *hash)
{
bool space = FALSE;
unsigned int len = 0, count = 0;
}
#endif
-static inline uint64_t
+static inline uint64_t ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
bits_rotl64(uint64_t num, unsigned int count)
{
const unsigned int mask = CHAR_BIT*sizeof(num) - 1;
return (num << count) | (num >> (-count & mask));
}
-static inline uint32_t
+static inline uint32_t ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
bits_rotl32(uint32_t num, unsigned int count)
{
const unsigned int mask = CHAR_BIT*sizeof(num) - 1;
return (num << count) | (num >> (-count & mask));
}
-static inline uint64_t
+static inline uint64_t ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
bits_rotr64(uint64_t num, unsigned int count)
{
const unsigned int mask = CHAR_BIT*sizeof(num) - 1;
return (num >> count) | (num << (-count & mask));
}
-static inline uint32_t
+static inline uint32_t ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
bits_rotr32(uint32_t num, unsigned int count)
{
const unsigned int mask = CHAR_BIT*sizeof(num) - 1;
unsigned int bandstart = fracoffs1 << (bandnum - 1);
return bandstart;
}
-static inline unsigned int ATTR_CONST
+static inline unsigned int ATTR_CONST ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
bits_fraclog_bucket_end(unsigned int bucket, unsigned int fracbits)
{
unsigned int bandnum = bucket >> fracbits;
}
}
-void buffer_truncate_rshift_bits(buffer_t *buf, size_t bits)
+void ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
+ ATTR_NO_SANITIZE_INTEGER
+buffer_truncate_rshift_bits(buffer_t *buf, size_t bits)
{
/* no-op if it's shorten than bits in any case.. */
if (buf->used * 8 < bits) return;
return mem;
}
-bool t_try_realloc(void *mem, size_t size)
+bool ATTR_NO_SANITIZE_INTEGER
+t_try_realloc(void *mem, size_t size)
{
size_t debug_adjust = 0, last_alloc_size;
unsigned char *after_last_alloc;
}
/* a char* hash function from ASU -- from glib */
-unsigned int strcase_hash(const char *p)
+unsigned int ATTR_NO_SANITIZE_INTEGER
+strcase_hash(const char *p)
{
const unsigned char *s = (const unsigned char *)p;
unsigned int g, h = 0;
return h;
}
-unsigned int mem_hash(const void *p, unsigned int size)
+unsigned int ATTR_NO_SANITIZE_INTEGER
+mem_hash(const void *p, unsigned int size)
{
const unsigned char *s = p;
unsigned int i, g, h = 0;
return h;
}
-unsigned int strfastcase_hash(const char *p)
+unsigned int ATTR_NO_SANITIZE_INTEGER
+strfastcase_hash(const char *p)
{
const unsigned char *s = (const unsigned char *)p;
unsigned int g, h = 0;
* the bit counters. There're no alignment requirements.
*/
static const void * ATTR_NOWARN_UNUSED_RESULT ATTR_UNSIGNED_WRAPS
+ ATTR_NO_SANITIZE_UNDEFINED ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
body(struct md4_context *ctx, const void *data, size_t size)
{
const unsigned char *ptr;
memcpy(ctx->buffer, data, size);
}
-void md4_final(struct md4_context *ctx, unsigned char result[STATIC_ARRAY MD4_RESULTLEN])
+void ATTR_NO_SANITIZE_UNDEFINED ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
+md4_final(struct md4_context *ctx, unsigned char result[STATIC_ARRAY MD4_RESULTLEN])
{
/* @UNSAFE */
unsigned long used, free;
* the bit counters. There're no alignment requirements.
*/
static const void * ATTR_NOWARN_UNUSED_RESULT ATTR_UNSIGNED_WRAPS
+ ATTR_NO_SANITIZE_UNDEFINED ATTR_NO_SANITIZE_INTEGER
+ ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
body(struct md5_context *ctx, const void *data, size_t size)
{
const unsigned char *ptr;
memcpy(ctx->buffer, data, size);
}
-void ATTR_UNSIGNED_WRAPS
+void ATTR_UNSIGNED_WRAPS ATTR_NO_SANITIZE_UNDEFINED
+ ATTR_NO_SANITIZE_INTEGER ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
md5_final(struct md5_context *ctx, unsigned char result[STATIC_ARRAY MD5_RESULTLEN])
{
/* @UNSAFE */
STR_TO_S__TEMPLATE(str_to_int32, int32_t, INT32_MIN, INT32_MAX)
STR_TO_S__TEMPLATE(str_to_int64, int64_t, INT64_MIN, INT64_MAX)
-int str_parse_intmax(const char *str, intmax_t *num_r,
- const char **endp_r)
+int ATTR_NO_SANITIZE_IMPLICIT_CONVERSION ATTR_NO_SANITIZE_INTEGER
+str_parse_intmax(const char *str, intmax_t *num_r, const char **endp_r)
{
bool neg = FALSE;
uintmax_t l;
test_end();
}
-static void test_bits_fraclog(void)
+static void ATTR_NO_SANITIZE_INTEGER ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
+test_bits_fraclog(void)
{
unsigned int fracbits;
for (fracbits = 0; fracbits < 6; fracbits++) {
/* The compiler *should* generate different code when the fracbits parameter
is a compile-time constant, so we also need to check that's the case.
*/
-static void test_bits_fraclog_const(void)
+static void ATTR_NO_SANITIZE_INTEGER ATTR_NO_SANITIZE_IMPLICIT_CONVERSION
+test_bits_fraclog_const(void)
{
#define FRACBITS 2
#define STR2(s) #s