[PATCH 15/20] chainimpl.h: Add _Assert() to _Chain_Initialize_empty()

Joel Sherrill joel.sherrill at oarcorp.com
Tue Nov 25 23:02:43 UTC 2014


From: Josh Oguin <josh.oguin at oarcorp.com>

CodeSonar flagged this as a potential NULL deference. That should never
occur but adding the _Assert() ensures we are checking that.
---
 cpukit/score/include/rtems/score/chainimpl.h | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/cpukit/score/include/rtems/score/chainimpl.h b/cpukit/score/include/rtems/score/chainimpl.h
index 6e1b6e3..08cbab6 100644
--- a/cpukit/score/include/rtems/score/chainimpl.h
+++ b/cpukit/score/include/rtems/score/chainimpl.h
@@ -7,7 +7,7 @@
 /*
  *  Copyright (c) 2010 embedded brains GmbH.
  *
- *  COPYRIGHT (c) 1989-2006.
+ *  COPYRIGHT (c) 1989-2014.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -20,6 +20,7 @@
 
 #include <rtems/score/chain.h>
 #include <rtems/score/address.h>
+#include <rtems/score/assert.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -613,8 +614,13 @@ RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(
   Chain_Control *the_chain
 )
 {
-  Chain_Node *head = _Chain_Head( the_chain );
-  Chain_Node *tail = _Chain_Tail( the_chain );
+  Chain_Node *head;
+  Chain_Node *tail;
+
+  _Assert( the_chain != NULL );
+
+  head = _Chain_Head( the_chain );
+  tail = _Chain_Tail( the_chain );
 
   head->next = tail;
   head->previous = NULL;
-- 
1.9.3



More information about the devel mailing list