am 38f4a139: am 532e6cde: Merge "libcutils: cleanups for -fsanitize=integer"

* commit '38f4a1391e499c2392cd8136061153cc35438eb3':
  libcutils: cleanups for -fsanitize=integer
This commit is contained in:
Nick Kralevich 2015-08-26 18:51:00 +00:00 committed by Android Git Automerger
commit 78d632a01d
3 changed files with 11 additions and 1 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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;