]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
conditionally silence false positives from clang --analyze
authorMark Andrews <marka@isc.org>
Fri, 30 Nov 2012 05:19:00 +0000 (16:19 +1100)
committerMark Andrews <marka@isc.org>
Fri, 30 Nov 2012 05:19:00 +0000 (16:19 +1100)
lib/dns/tsig.c

index 31b5cc3b8a9dd7d48831b6f5ee2c8efe8a357d72..c8f00adbcceae616a2b5a4126355717cf951c358 100644 (file)
@@ -974,6 +974,11 @@ dns_tsig_sign(dns_message_t *msg) {
                        if (ret != ISC_R_SUCCESS)
                                goto cleanup_context;
                }
+#if defined(__clang__)  && \
+       ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2))
+       /* false positive: http://llvm.org/bugs/show_bug.cgi?id=14461 */
+               else memset(&querytsig, 0, sizeof(querytsig));
+#endif
 
                /*
                 * Digest the header.
@@ -1229,6 +1234,11 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg,
                if (ret != ISC_R_SUCCESS)
                        return (ret);
        }
+#if defined(__clang__) && \
+       ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2))
+       /* false positive: http://llvm.org/bugs/show_bug.cgi?id=14461 */
+               else memset(&querytsig, 0, sizeof(querytsig));
+#endif
 
        /*
         * Do the key name and algorithm match that of the query?