Skip to content

Commit 02822d3

Browse files
Tharazi97adbridge
authored andcommitted
Fix Coverity uninitialized pointer field Thread.h
Changed _obj_mem to be initialized with constructor of new thread.
1 parent 95b4c7c commit 02822d3

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

rtos/Thread.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ void Thread::constructor(uint32_t tz_module, osPriority priority,
4949
const uint32_t offset = aligned_mem - unaligned_mem;
5050
const uint32_t aligned_size = ALIGN_DOWN(stack_size - offset, 8);
5151

52-
_tid = 0;
53-
_dynamic_stack = (stack_mem == NULL);
52+
memset(&_obj_mem, 0, sizeof(_obj_mem));
53+
_tid = nullptr;
54+
_dynamic_stack = (stack_mem == nullptr);
5455
_finished = false;
5556
memset(&_attr, 0, sizeof(_attr));
5657
_attr.priority = priority;
@@ -104,7 +105,6 @@ osStatus Thread::start(mbed::Callback<void()> task)
104105
((uint32_t *)_attr.stack_mem)[i] = osRtxStackMagicWord;
105106
}
106107

107-
memset(&_obj_mem, 0, sizeof(_obj_mem));
108108
_attr.cb_size = sizeof(_obj_mem);
109109
_attr.cb_mem = &_obj_mem;
110110
_task = task;

0 commit comments

Comments
 (0)