]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Avoid unnecessary Coverity warnings in MALLOC_*()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 10 Feb 2017 09:58:17 +0000 (11:58 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 10 Feb 2017 09:58:17 +0000 (11:58 +0200)
There doesn't seem to be any other nice way of avoiding these without
separately marking every instance.

src/lib/malloc-overflow.h

index 830677a7c57fe2d88fe047558ed91093c1b926f9..590e6585cc8284c6c439fe2197a3ea9cd48528ab 100644 (file)
@@ -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