The uncoveredRanges and uncoveredBranch member variables are allocated as a pair. They are both either NULL or not NULL. Coverity does not know this though, so this assert is added to ensure they are not NULL before being dereferenced.
CID 1503710: Dereference after null check Closes #4428 --- tester/covoar/ReportsBase.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tester/covoar/ReportsBase.cc b/tester/covoar/ReportsBase.cc index bc05037..219e5af 100644 --- a/tester/covoar/ReportsBase.cc +++ b/tester/covoar/ReportsBase.cc @@ -3,6 +3,7 @@ #include <errno.h> #include <sys/stat.h> #include <sys/types.h> +#include <assert.h> #include <iomanip> #include <sstream> @@ -231,6 +232,10 @@ void ReportsBase::WriteAnnotatedReport( const std::string& fileName ) continue; } + // uncoveredRanges and uncoveredBranches are always allocated as a pair + // so both are NULL or both are not NULL. + assert( info.uncoveredRanges != NULL && info.uncoveredBranches != NULL ); + // If uncoveredRanges and uncoveredBranches are empty, then everything // must have been covered for this symbol. Just skip it. if ( -- 1.8.3.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel