[rtems-tools commit] ReportsBase.cc: Add assert for member variables

Joel Sherrill joel at rtems.org
Thu Oct 7 14:29:57 UTC 2021


Module:    rtems-tools
Branch:    master
Commit:    724505095ae634b485d1b1b8888b147e3a130ea0
Changeset: http://git.rtems.org/rtems-tools/commit/?id=724505095ae634b485d1b1b8888b147e3a130ea0

Author:    Ryan Long <ryan.long at oarcorp.com>
Date:      Thu Aug 12 14:59:50 2021 -0400

ReportsBase.cc: Add assert for member variables

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 (



More information about the vc mailing list