From: Nick Mathewson Date: Tue, 18 Mar 2014 14:47:26 +0000 (-0400) Subject: Fix a ubsan warning in our ctypes replacements X-Git-Tag: tor-0.2.5.4-alpha~85^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2aea6ca3260cee82a60168c047f4d0cc71f7c652;p=thirdparty%2Ftor.git Fix a ubsan warning in our ctypes replacements ubsan doesn't like 1<<31, since that's an undefined integer overflow. Instead, we should do 1u<<31. --- diff --git a/src/common/compat.h b/src/common/compat.h index 32effa5c74..30a33031ce 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -321,7 +321,7 @@ tor_memstr(const void *haystack, size_t hlen, const char *needle) extern const uint32_t TOR_##name##_TABLE[]; \ static INLINE int TOR_##name(char c) { \ uint8_t u = c; \ - return !!(TOR_##name##_TABLE[(u >> 5) & 7] & (1 << (u & 31))); \ + return !!(TOR_##name##_TABLE[(u >> 5) & 7] & (1u << (u & 31))); \ } DECLARE_CTYPE_FN(ISALPHA) DECLARE_CTYPE_FN(ISALNUM)