From b3d788a2cd35c734a683444c976abe14afc5c1c1 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 21 Feb 2020 10:50:16 -0500 Subject: analyzer: disable the "taint" checker by default PR analyzer/93032 tracks a false negative where we fail to report FILE * leaks within zlib/contrib/minizip/mztools.c. The underlying issue is a combinatorial explosion of states within the exploded graph. In particular, the state of the "taint" checker is exploding, leading to the analyzer bailing out. I have a patch kit under construction that fixes the state explosion issue enough for the "file" checker to report the leaks, but doing so requires disabling the "taint" checker. Given that the latter is more of a proof-of-concept, this patch disables it by default, to stop it breaking the other checkers. gcc/analyzer/ChangeLog: PR analyzer/93032 * sm.cc (make_checkers): Require the "taint" checker to be explicitly enabled. gcc/ChangeLog: PR analyzer/93032 * doc/invoke.texi (-Wnanalyzer-tainted-array-index): Note that -fanalyzer-checker=taint is also required. (-fanalyzer-checker=): Note that providing this option enables the given checker, and doing so may be required for checkers that are disabled by default. gcc/testsuite/ChangeLog: PR analyzer/93032 * gcc.dg/analyzer/pr93382.c: Add "-fanalyzer-checker=taint". * gcc.dg/analyzer/taint-1.c: Likewise. --- gcc/analyzer/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/analyzer/ChangeLog') diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 0882ec6..7511c2d 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,5 +1,11 @@ 2020-02-24 David Malcolm + PR analyzer/93032 + * sm.cc (make_checkers): Require the "taint" checker to be + explicitly enabled. + +2020-02-24 David Malcolm + PR analyzer/93899 * engine.cc (impl_region_model_context::impl_region_model_context): Add logger -- cgit v1.1