[PATCH v1 4/4] rtl-allocator.c: Put dereferences after nullcheck

Ryan Long ryan.long at oarcorp.com
Fri May 28 19:11:25 UTC 2021


CID 1444139: Dereference null return value in rtems_rtl_alloc_hook().

Closes #4333
---
 cpukit/libdl/rtl-allocator.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/cpukit/libdl/rtl-allocator.c b/cpukit/libdl/rtl-allocator.c
index 647c0c8..861754e 100644
--- a/cpukit/libdl/rtl-allocator.c
+++ b/cpukit/libdl/rtl-allocator.c
@@ -162,8 +162,11 @@ rtems_rtl_allocator
 rtems_rtl_alloc_hook (rtems_rtl_allocator handler)
 {
   rtems_rtl_data*     rtl = rtems_rtl_lock ();
-  rtems_rtl_allocator previous = rtl->allocator.allocator;
-  rtl->allocator.allocator = handler;
+  rtems_rtl_allocator previous = NULL;
+  if (rtl != NULL) {
+    previous = rtl->allocator.allocator;
+    rtl->allocator.allocator = handler;
+  }
   rtems_rtl_unlock ();
   return previous;
 }
-- 
1.8.3.1



More information about the devel mailing list