From: Timo Sirainen Date: Fri, 10 Feb 2017 09:58:17 +0000 (+0200) Subject: lib: Avoid unnecessary Coverity warnings in MALLOC_*() X-Git-Tag: 2.3.0.rc1~2151 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ae9c5dd897013aa8a3cab4fb356718f9a2bf47f5;p=thirdparty%2Fdovecot%2Fcore.git lib: Avoid unnecessary Coverity warnings in MALLOC_*() There doesn't seem to be any other nice way of avoiding these without separately marking every instance. --- diff --git a/src/lib/malloc-overflow.h b/src/lib/malloc-overflow.h index 830677a7c5..590e6585cc 100644 --- a/src/lib/malloc-overflow.h +++ b/src/lib/malloc-overflow.h @@ -20,8 +20,14 @@ malloc_multiply_check(size_t a, size_t b, size_t sizeof_a, size_t sizeof_b, } return a * b; } -#define MALLOC_MULTIPLY(a, b) \ +#ifndef STATIC_CHECKER +# define MALLOC_MULTIPLY(a, b) \ malloc_multiply_check(a, b, sizeof(a), sizeof(b), __FILE__, __LINE__) +#else +/* avoid warning every time about sizeof(b) when b contains any arithmetic */ +# define MALLOC_MULTIPLY(a, b) \ + malloc_multiply_check(a, b, sizeof(a), sizeof(size_t), __FILE__, __LINE__) +#endif static inline size_t malloc_add_check(size_t a, size_t b, size_t sizeof_a, size_t sizeof_b, @@ -36,7 +42,13 @@ malloc_add_check(size_t a, size_t b, size_t sizeof_a, size_t sizeof_b, } return a + b; } -#define MALLOC_ADD(a, b) \ +#ifndef STATIC_CHECKER +# define MALLOC_ADD(a, b) \ malloc_add_check(a, b, sizeof(a), sizeof(b), __FILE__, __LINE__) +#else +/* avoid warning every time about sizeof(b) when b contains any arithmetic */ +# define MALLOC_ADD(a, b) \ + malloc_add_check(a, b, sizeof(a), sizeof(size_t), __FILE__, __LINE__) +#endif #endif