Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 532e6cde authored by Nick Kralevich's avatar Nick Kralevich Committed by Gerrit Code Review
Browse files

Merge "libcutils: cleanups for -fsanitize=integer"

parents 64393789 7390478f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ __BEGIN_DECLS
#define ATRACE_TAG_LAST             ATRACE_TAG_PACKAGE_MANAGER

// Reserved for initialization.
#define ATRACE_TAG_NOT_READY        (1LL<<63)
#define ATRACE_TAG_NOT_READY        (1ULL<<63)

#define ATRACE_TAG_VALID_MASK ((ATRACE_TAG_LAST - 1) | ATRACE_TAG_LAST)

+7 −0
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ Hashmap* hashmapCreate(size_t initialCapacity,
/**
 * Hashes the given key.
 */
#ifdef __clang__
__attribute__((no_sanitize("integer")))
#endif
static inline int hashKey(Hashmap* map, void* key) {
    int h = map->hash(key);

@@ -152,6 +155,10 @@ void hashmapFree(Hashmap* map) {
    free(map);
}

#ifdef __clang__
__attribute__((no_sanitize("integer")))
#endif
/* FIXME: relies on signed integer overflow, which is undefined behavior */
int hashmapHash(void* key, size_t keySize) {
    int h = keySize;
    char* data = (char*) key;
+3 −0
Original line number Diff line number Diff line
@@ -42,6 +42,9 @@ static bool str_eq(void *key_a, void *key_b)
}

/* use djb hash unless we find it inadequate */
#ifdef __clang__
__attribute__((no_sanitize("integer")))
#endif
static int str_hash_fn(void *str)
{
    uint32_t hash = 5381;