osaf/libs/common/ais/aisa_api.c                          |    2 +
 osaf/libs/core/common/daemon.c                           |   60 ++-
 osaf/libs/core/common/include/osaf_secutil.h             |   14 +-
 osaf/libs/core/common/ncs_main_pub.c                     |   19 +-
 osaf/libs/core/common/nid_start_util.c                   |    4 +-
 osaf/libs/core/common/osaf_extended_name.c               |    1 +
 osaf/libs/core/common/osaf_poll.c                        |   13 +-
 osaf/libs/core/common/osaf_secutil.c                     |  223 +++++++-------
 osaf/libs/core/common/osaf_timerfd.c                     |    2 +
 osaf/libs/core/cplusplus/base/tests/time_compare_test.cc |   12 +
 osaf/libs/core/include/ncspatricia.h                     |    3 -
 osaf/libs/core/leap/hj_edp.c                             |   17 +-
 osaf/libs/core/leap/hj_edu.c                             |   52 +-
 osaf/libs/core/leap/hj_enc.c                             |    2 +-
 osaf/libs/core/leap/hj_hdl.c                             |   29 +-
 osaf/libs/core/leap/hj_tmr.c                             |    9 +-
 osaf/libs/core/leap/hj_ubaid.c                           |    3 +-
 osaf/libs/core/leap/os_defs.c                            |   19 +-
 osaf/libs/core/leap/sysf_exc_scr.c                       |   27 +-
 osaf/libs/core/leap/sysf_ipc.c                           |    4 +-
 osaf/libs/core/leap/sysf_mem.c                           |    9 +-
 osaf/libs/core/leap/sysf_tmr.c                           |    7 +-
 osaf/libs/core/leap/sysf_tsk.c                           |    7 +
 osaf/libs/core/leap/tests/sysf_ipc_test.cc               |   18 +-
 osaf/libs/core/leap/tests/sysf_tmr_test.cc               |    4 +-
 25 files changed, 263 insertions(+), 297 deletions(-)


The following warnings, reported by cppcheck version 1.74, have been fixed:

[osaf/libs/core/common/daemon.c:212]: (style) The scope of the variable 
'plibc_prctl' can be reduced.
[osaf/libs/core/common/daemon.c:214]: (style) The scope of the variable 'pid' 
can be reduced.
[osaf/libs/core/common/daemon.c:214]: (style) The scope of the variable 'sid' 
can be reduced.
[osaf/libs/core/common/daemon.c:505]: (style) The scope of the variable 
'bt_filename_size' can be reduced.
[osaf/libs/core/common/daemon.c:507]: (style) The scope of the variable 
'time_string' can be reduced.
[osaf/libs/core/common/daemon.c:510]: (style) The scope of the variable 'i' can 
be reduced.
[osaf/libs/core/common/daemon.c:340]: (portability) Non reentrant function 
'getpwnam' called. For threadsafe applications it is recommended to use the 
reentrant replacement function 'getpwnam_r'.
[osaf/libs/core/common/daemon.c:533]: (portability) Non reentrant function 
'localtime' called. For threadsafe applications it is recommended to use the 
reentrant replacement function 'localtime_r'.
[osaf/libs/core/common/daemon.c:256]: (error) Uninitialized variable: param
[osaf/libs/core/common/daemon.c:528]: (error) Uninitialized variable: 
time_string
[osaf/libs/core/common/daemon.c:539]: (error) Uninitialized variable: 
time_string
[osaf/libs/core/common/ncs_main_pub.c:178] -> 
[osaf/libs/core/common/ncs_main_pub.c:180]: (style) Variable 'rc' is reassigned 
a value before the old one has been used.
[osaf/libs/core/common/ncs_main_pub.c:315] -> 
[osaf/libs/core/common/ncs_main_pub.c:317]: (style) Variable 'rc' is reassigned 
a value before the old one has been used.
[osaf/libs/core/common/ncs_main_pub.c:714]: (style) The scope of the variable 
'p_field' can be reduced.
[osaf/libs/core/common/ncs_main_pub.c:794]: (style) The scope of the variable 
'tmp' can be reduced.
[osaf/libs/core/common/ncs_main_pub.c:129]: (style) struct member 
'ncs_main_pub_cb::lock_create' is never used.
[osaf/libs/core/common/ncs_main_pub.c:693]: (style) Variable 'res' is assigned 
a value that is never used.
[osaf/libs/core/common/nid_start_util.c:54]: (warning) fscanf() without field 
width limits can crash with huge input data.
[osaf/libs/core/common/osaf_extended_name.c:183]: (error) Memory is allocated 
but not initialized: pointer
[osaf/libs/core/common/osaf_poll.c:117]: (error) Uninitialized variable: 
elapsed_time
[osaf/libs/core/common/osaf_poll.c:118]: (error) Uninitialized variable: 
elapsed_time
[osaf/libs/core/common/osaf_poll.c:120]: (error) Uninitialized variable: 
elapsed_time
[osaf/libs/core/common/osaf_poll.c:134]: (error) Uninitialized variable: set
[osaf/libs/core/common/osaf_poll.c:135]: (error) Uninitialized variable: set
[osaf/libs/core/common/osaf_secutil.c:243]: (portability) Non reentrant 
function 'getpwuid' called. For threadsafe applications it is recommended to 
use the reentrant replacement function 'getpwuid_r'.
[osaf/libs/core/common/osaf_secutil.c:353]: (portability) Non reentrant 
function 'getpwuid' called. For threadsafe applications it is recommended to 
use the reentrant replacement function 'getpwuid_r'.
[osaf/libs/core/common/osaf_secutil.c:370]: (portability) Non reentrant 
function 'getgrent' called. For threadsafe applications it is recommended to 
use the reentrant replacement function 'getgrent_r'.
[osaf/libs/core/common/osaf_secutil.c:379]: (portability) Non reentrant 
function 'getgrent' called. For threadsafe applications it is recommended to 
use the reentrant replacement function 'getgrent_r'.
[osaf/libs/core/common/osaf_secutil.c:399]: (portability) Non reentrant 
function 'getgrent' called. For threadsafe applications it is recommended to 
use the reentrant replacement function 'getgrent_r'.
[osaf/libs/core/common/osaf_secutil.c:82]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_secutil.c:83]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_secutil.c:136]: (error) Uninitialized variable: 
unaddr
[osaf/libs/core/common/osaf_secutil.c:170]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_secutil.c:171]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_secutil.c:203]: (error) Memory is allocated but not 
initialized: fd
[osaf/libs/core/common/osaf_secutil.c:279]: (error) Uninitialized variable: 
remote
[osaf/libs/core/common/osaf_secutil.c:295]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_secutil.c:296]: (error) Uninitialized variable: fds
[osaf/libs/core/common/osaf_timerfd.c:184]: (error) Uninitialized variable: 
event
[osaf/libs/core/common/osaf_timerfd.c:185]: (error) Uninitialized variable: 
event
[osaf/libs/core/common/osaf_timerfd.c:186]: (error) Uninitialized variable: 
event
[osaf/libs/core/common/osaf_timerfd.c:187]: (error) Uninitialized variable: 
event
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:25] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:25]: (style) Same 
expression on both sides of '<'.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:26] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:26]: (style) Same 
expression on both sides of '<='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:29] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:29]: (style) Same 
expression on both sides of '>='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:30] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:30]: (style) Same 
expression on both sides of '>'.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:70] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:70]: (style) Same 
expression on both sides of '<'.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:71] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:71]: (style) Same 
expression on both sides of '<='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:74] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:74]: (style) Same 
expression on both sides of '>='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:75] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:75]: (style) Same 
expression on both sides of '>'.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:97] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:97]: (style) Same 
expression on both sides of '<'.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:98] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:98]: (style) Same 
expression on both sides of '<='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:101] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:101]: (style) Same 
expression on both sides of '>='.
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:102] -> 
[osaf/libs/core/cplusplus/base/tests/time_compare_test.cc:102]: (style) Same 
expression on both sides of '>'.
[osaf/libs/core/leap/hj_edp.c:169]: (style) The scope of the variable 'len' can 
be reduced.
[osaf/libs/core/leap/hj_edp.c:352]: (style) The scope of the variable 'len' can 
be reduced.
[osaf/libs/core/leap/hj_edp.c:352]: (style) The scope of the variable 
'byte_cnt' can be reduced.
[osaf/libs/core/leap/hj_edp.c:778]: (style) The scope of the variable 
'byte_cnt' can be reduced.
[osaf/libs/core/leap/hj_edp.c:1661]: (warning) Division by result of sizeof(). 
malloc() expects a size in bytes, did you intend to multiply instead?
[osaf/libs/core/leap/hj_edp.c:1813]: (warning) Division by result of sizeof(). 
malloc() expects a size in bytes, did you intend to multiply instead?
[osaf/libs/core/leap/hj_edu.c:132]: (style) The scope of the variable 
'arguments' can be reduced.
[osaf/libs/core/leap/hj_edu.c:284]: (style) The scope of the variable 
'arguments' can be reduced.
[osaf/libs/core/leap/hj_edu.c:413]: (style) The scope of the variable 
'dtype_attrb' can be reduced.
[osaf/libs/core/leap/hj_edu.c:415]: (style) The scope of the variable 'cnt' can 
be reduced.
[osaf/libs/core/leap/hj_edu.c:2478]: (style) The scope of the variable 'lclfnd' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:2528]: (style) The scope of the variable 
'already_added' can be reduced.
[osaf/libs/core/leap/hj_edu.c:3244]: (style) The scope of the variable 
'new_node' can be reduced.
[osaf/libs/core/leap/hj_edu.c:3321]: (style) The scope of the variable 'key' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:3322]: (style) The scope of the variable 'pnode' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:3447]: (style) The scope of the variable 'val' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:3499]: (style) The scope of the variable 'val' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:3529]: (style) The scope of the variable 'i' can 
be reduced.
[osaf/libs/core/leap/hj_edu.c:3626]: (style) The scope of the variable 'val' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:3679]: (style) The scope of the variable 'val' 
can be reduced.
[osaf/libs/core/leap/hj_edu.c:498]: (style) Variable 'admin_op' is assigned a 
value that is never used.
[osaf/libs/core/leap/hj_edu.c:3328]: (style) Variable 'lcl_key' is assigned a 
value that is never used.
[osaf/libs/core/leap/hj_edu.c:445]: (error) Uninitialized variable: admin_op
[osaf/libs/core/leap/hj_edu.c:446]: (error) Uninitialized variable: admin_op
[osaf/libs/core/leap/hj_edu.c:3296]: (error) Uninitialized variable: list_params
[osaf/libs/core/leap/hj_enc.c:58]: (style) The scope of the variable 'p' can be 
reduced.
[osaf/libs/core/leap/hj_hdl.c:231]: (style) The scope of the variable 'unit' 
can be reduced.
[osaf/libs/core/leap/hj_hdl.c:271]: (style) The scope of the variable 'cell' 
can be reduced.
[osaf/libs/core/leap/hj_hdl.c:311]: (style) The scope of the variable 'cell' 
can be reduced.
[osaf/libs/core/leap/hj_hdl.c:547]: (style) The scope of the variable 'cell' 
can be reduced.
[osaf/libs/core/leap/hj_hdl.c:613]: (style) The scope of the variable 'cell' 
can be reduced.
[osaf/libs/core/leap/hj_hdl.c:617]: (style) The scope of the variable 'i' can 
be reduced.
[osaf/libs/core/leap/hj_hdl.c:193]: (error) Uninitialized variable: ha
[osaf/libs/core/leap/hj_hdl.c:194]: (error) Uninitialized variable: ha
[osaf/libs/core/leap/hj_hdl.c:195]: (error) Uninitialized variable: ha
[osaf/libs/core/leap/hj_hdl.c:196]: (error) Uninitialized variable: ha
[osaf/libs/core/leap/hj_hdl.c:578]: (error) Uninitialized variable: hdl
[osaf/libs/core/leap/hj_hdl.c:579]: (error) Uninitialized variable: hdl
[osaf/libs/core/leap/hj_hdl.c:580]: (error) Uninitialized variable: hdl
[osaf/libs/core/leap/hj_tmr.c:389]: (style) The scope of the variable 
'tmr_info' can be reduced.
[osaf/libs/core/leap/hj_tmr.c:425]: (style) The scope of the variable 
'pres_tmr_info' can be reduced.
[osaf/libs/core/leap/hj_tmr.c:471]: (style) The scope of the variable 
'prev_tmr_info' can be reduced.
[osaf/libs/core/leap/hj_ubaid.c:708]: (style) The scope of the variable 'p' can 
be reduced.
[osaf/libs/core/leap/os_defs.c:505]: (style) The scope of the variable 
'tmp_hdl' can be reduced.
[osaf/libs/core/leap/os_defs.c:645]: (style) The scope of the variable 'file' 
can be reduced.
[osaf/libs/core/leap/os_defs.c:773]: (style) The scope of the variable 
'prot_flag' can be reduced.
[osaf/libs/core/leap/os_defs.c:593]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:595]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:597]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:598]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:599]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:600]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:614]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:616]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:618]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:619]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:620]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:621]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:654]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:661]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:667]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:670]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:694]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:695]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:696]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:706]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/os_defs.c:707]: (error) Uninitialized variable: os_req
[osaf/libs/core/leap/sysf_exc_scr.c:460]: (style) The scope of the variable 
'exec_pid' can be reduced.
[osaf/libs/core/leap/sysf_exc_scr.c:109]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:110]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:111]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:146]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:147]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:148]: (error) Uninitialized variable: info
[osaf/libs/core/leap/sysf_exc_scr.c:404]: (error) Uninitialized variable: 
pt_params
[osaf/libs/core/leap/sysf_ipc.c:454]: (style) The scope of the variable 
'inds_rmvd' can be reduced.
[osaf/libs/core/leap/sysf_mem.c:854]: (style) The scope of the variable 'pub' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:856]: (style) The scope of the variable 
'buflen' can be reduced.
[osaf/libs/core/leap/sysf_mem.c:944]: (style) The scope of the variable 
'buflen' can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1162]: (style) The scope of the variable 'i' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1170]: (style) The scope of the variable 'dest' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1478]: (style) The scope of the variable 
'bufsize' can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1735]: (style) The scope of the variable 'len' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1736]: (style) The scope of the variable 'dst' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:1917]: (style) The scope of the variable 'file' 
can be reduced.
[osaf/libs/core/leap/sysf_mem.c:747]: (error) Uninitialized variable: l_util
[osaf/libs/core/leap/sysf_tmr.c:390]: (style) The scope of the variable 'rc' 
can be reduced.
[osaf/libs/core/leap/sysf_tmr.c:545]: (style) The scope of the variable 
'free_tmr' can be reduced.
[osaf/libs/core/leap/sysf_tmr.c:166]: (style) struct member 
'sysf_tmr_cb::stats' is never used.
[osaf/libs/core/leap/sysf_tsk.c:53]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:54]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:55]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:56]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:57]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:58]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:75]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:87]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:99]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:111]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:123]: (error) Uninitialized variable: task
[osaf/libs/core/leap/sysf_tsk.c:132]: (error) Uninitialized variable: task
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:74] -> 
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:78]: (style) Variable 'rc' is 
reassigned a value before the old one has been used.
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:41]: (style) The scope of the 
variable 'temp' can be reduced.
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:123]: (style) The scope of the 
variable 'msg' can be reduced.
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:124]: (style) The scope of the 
variable 'prio' can be reduced.
[osaf/libs/core/leap/tests/sysf_ipc_test.cc:126]: (style) The scope of the 
variable 'rc' can be reduced.
[osaf/libs/core/leap/tests/sysf_tmr_test.cc:18]: (warning) Member variable 
'SysfTmrTest::timers_' is not initialized in the constructor.

diff --git a/osaf/libs/common/ais/aisa_api.c b/osaf/libs/common/ais/aisa_api.c
--- a/osaf/libs/common/ais/aisa_api.c
+++ b/osaf/libs/common/ais/aisa_api.c
@@ -103,11 +103,13 @@ void saAisNameLend(SaConstStringT value,
 SaConstStringT saAisNameBorrow(const SaNameT* name)
        __attribute__ ((weak, alias ("ais_name_borrow")));
 
+// cppcheck-suppress unusedFunction
 void ais_name_lend(SaConstStringT value, SaNameT* name)
 {
        osaf_extended_name_lend(value, name);
 }
 
+// cppcheck-suppress unusedFunction
 SaConstStringT ais_name_borrow(const SaNameT* name)
 {
        SaConstStringT value = osaf_extended_name_borrow(name);
diff --git a/osaf/libs/core/common/daemon.c b/osaf/libs/core/common/daemon.c
--- a/osaf/libs/core/common/daemon.c
+++ b/osaf/libs/core/common/daemon.c
@@ -208,11 +208,7 @@ static void __parse_options(int argc, ch
 
 void daemonize(int argc, char *argv[])
 {
-#ifndef RUNASROOT
-       static int (*plibc_prctl) (int option, ...) = NULL;
-#endif
-       pid_t pid, sid;
-       struct sched_param param;
+       struct sched_param param = { 0 };
        char *thread_prio;
        char *thread_policy;
        int policy = SCHED_OTHER; /*root defaults */
@@ -283,7 +279,7 @@ void daemonize(int argc, char *argv[])
                if (getppid() == 1) return;
        
                /* Fork off the parent process */
-               pid = fork();
+               pid_t pid = fork();
                if (pid < 0) {
                        syslog(LOG_ERR, "fork daemon failed, pid=%d (%s)", pid, 
strerror(errno));
                        exit(EXIT_FAILURE);
@@ -293,7 +289,7 @@ void daemonize(int argc, char *argv[])
                if (pid > 0) exit(EXIT_SUCCESS);
        
                /* Create a new SID for the child process */
-               sid = setsid();
+               pid_t sid = setsid();
                if (sid < 0) {
                        syslog(LOG_ERR, "create new session failed, sid=%d 
(%s)", sid, strerror(errno));
                        exit(EXIT_FAILURE);
@@ -337,13 +333,18 @@ void daemonize(int argc, char *argv[])
 #ifndef RUNASROOT
        /* Drop privileges to user if there is one, and we were run as root */
        if (getuid() == 0 || geteuid() == 0) {
-               struct passwd *pw = getpwnam(__runas_username);
-               if (pw) {
+               long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
+               char* buffer = (char*) malloc(bufsize >= 0 ? bufsize : 16384);
+               struct passwd pwd;
+               struct passwd* pw;
+               if (buffer != NULL && getpwnam_r(__runas_username, &pwd, 
buffer, bufsize, &pw) == 0 && pw != NULL) {
                        /* supplementary groups */
-                       int ngroups = 0;
-                       if (osaf_get_group_list(pw->pw_uid, pw->pw_gid, NULL, 
&ngroups) == 0) {
-                               gid_t * group_ids = (gid_t*) malloc(ngroups * 
sizeof(gid_t));
-                               if (osaf_get_group_list(pw->pw_uid, pw->pw_gid, 
group_ids, &ngroups) > 0) {
+                       int ngroups = 1;
+                       gid_t gid;
+                       osaf_getgrouplist(__runas_username, pw->pw_gid, &gid, 
&ngroups);
+                       gid_t* group_ids = (gid_t*) malloc(ngroups * 
sizeof(gid_t));
+                       if (group_ids != NULL) {
+                               if (osaf_getgrouplist(__runas_username, 
pw->pw_gid, group_ids, &ngroups) != -1) {
                                        // TODO: setgroups() is non POSIX, fix 
it later
                                        if (setgroups(ngroups, group_ids)) {
                                                syslog(LOG_INFO, "setgroups 
failed, uid=%d (%s). Continuing without supplementary groups.", pw->pw_uid, 
strerror(errno));
@@ -357,14 +358,16 @@ void daemonize(int argc, char *argv[])
                        }
                        if ((pw->pw_gid > 0) && (setgid(pw->pw_gid) < 0)) {
                                syslog(LOG_ERR, "setgid failed, gid=%d (%s)", 
pw->pw_gid, strerror(errno));
+                               free(buffer);
                                exit(EXIT_FAILURE);
                        }
                        if ((pw->pw_uid > 0) && (setuid(pw->pw_uid) < 0)) {
                                syslog(LOG_ERR, "setuid failed, uid=%d (%s)", 
pw->pw_uid, strerror(errno));
+                               free(buffer);
                                exit(EXIT_FAILURE);
                        }
                        // Enable generating core files
-                       plibc_prctl = dlsym(RTLD_DEFAULT, "prctl");
+                       int (*plibc_prctl) (int option, ...) = 
dlsym(RTLD_DEFAULT, "prctl");
                        if (plibc_prctl) {
                                if (plibc_prctl(PR_SET_DUMPABLE, 1) < 0) {
                                        syslog(LOG_ERR, "prctl failed: %s", 
strerror(errno));
@@ -372,8 +375,10 @@ void daemonize(int argc, char *argv[])
                        }
                } else {
                        syslog(LOG_ERR, "invalid user name %s", 
__runas_username);
+                       free(buffer);
                        exit(EXIT_FAILURE);
                }
+               free(buffer);
        }
 #endif
 
@@ -502,12 +507,6 @@ done:
  */
 static void install_fatal_signal_handlers(void)
 {
-       size_t bt_filename_size = 0;
-       time_t current_time;
-       char time_string[20];
-
-       struct sigaction action;
-       int i = 0;
        const int HANDLED_SIGNALS_MAX = 7;
        static const int handled_signals[] = {
                SIGHUP,
@@ -523,31 +522,38 @@ static void install_fatal_signal_handler
        if (init_backtrace_fptrs() < 0) {
                syslog(LOG_WARNING, "backtrace symbols not found, no fatal 
signal handlers will be installed");
        } else {
-
-               // prepare a filename for backtrace
-               time_string[0] = '\0';
+               char time_string[20] = { 0 };
+               time_t current_time;
 
                if (time(&current_time) < 0) {
                        syslog(LOG_WARNING, "time failed: %s", strerror(errno));
                } else {
-                       if (strftime(time_string, sizeof(time_string), 
"%Y%m%d_%T", localtime(&current_time)) == 0) {
-                               syslog(LOG_WARNING, "strftime failed");
+                       struct tm result;
+                       struct tm* local_time = localtime_r(&current_time, 
&result);
+                       if (local_time != NULL) {
+                               if (strftime(time_string, sizeof(time_string), 
"%Y%m%d_%T", local_time) == 0) {
+                                       syslog(LOG_WARNING, "strftime failed");
+                                       time_string[0] = '\0';
+                               }
+                       } else {
+                               syslog(LOG_WARNING, "localtime_r failed");
                        }
                }
 
                // 16 = "/bt__" (5) + sizeof pid_t (10) + \0 (1)
-               bt_filename_size = strlen(PKGLOGDIR) + strlen(time_string) + 16;
+               size_t bt_filename_size = strlen(PKGLOGDIR) + 
strlen(time_string) + 16;
 
                bt_filename = (char *) malloc(bt_filename_size);
 
                snprintf(bt_filename, bt_filename_size, PKGLOGDIR "/bt_%s_%d", 
time_string, getpid());
 
+               struct sigaction action;
                memset(&action, 0, sizeof(action));
                action.sa_sigaction = fatal_signal_handler;
                sigfillset(&action.sa_mask);
                action.sa_flags = SA_RESETHAND | SA_SIGINFO;
 
-               for (i = 0; i < HANDLED_SIGNALS_MAX; ++i) {
+               for (int i = 0; i < HANDLED_SIGNALS_MAX; ++i) {
                        if (sigaction(handled_signals[i], &action, NULL) < 0) {
                                syslog(LOG_WARNING, "sigaction %d failed: %s", 
handled_signals[i], strerror(errno));
                        }
diff --git a/osaf/libs/core/common/include/osaf_secutil.h 
b/osaf/libs/core/common/include/osaf_secutil.h
--- a/osaf/libs/core/common/include/osaf_secutil.h
+++ b/osaf/libs/core/common/include/osaf_secutil.h
@@ -92,18 +92,10 @@ bool osaf_user_is_member_of_group(uid_t 
  * Get list of groups that a user belong to
  * There already is a function in LSB for this purpose (getgrouplist) but it 
is not standard.
  *
- * @param uid: user to search
- * @oaram gid: default group will be put in the list (pw_gid of user's passwd 
struct)
- * @param groups: pointer to the array that the result will be returned
- *               When groups is NULL, this function will return 0 on succeeded 
and
- *               ngroups can be used to allocate space for groups.
- * @param ngroups: when return successfully it always contains the number of 
groups.
- *
- * @return -1 on failure
- *         0  on succeeded to find number of groups
- *         Otherwise, the number of found groups.
+ * This function provides the same interface as getgrouplist(3) in glibc. 
Refer to the man
+ * page for the interface description.
  */
-int osaf_get_group_list(const uid_t uid, const gid_t gid, gid_t *groups, int 
*ngroups);
+int osaf_getgrouplist(const char* user, gid_t group, gid_t* groups, int* 
ngroups);
 
 #ifdef __cplusplus
 }
diff --git a/osaf/libs/core/common/ncs_main_pub.c 
b/osaf/libs/core/common/ncs_main_pub.c
--- a/osaf/libs/core/common/ncs_main_pub.c
+++ b/osaf/libs/core/common/ncs_main_pub.c
@@ -126,7 +126,6 @@ typedef struct ncs_main_pub_cb {
        void *lib_hdl;
 
        NCS_LOCK lock;
-       uint32_t lock_create;
        bool core_started;
        uint32_t my_nodeid;
        uint32_t my_procid;
@@ -175,9 +174,7 @@ static pthread_mutex_t s_leap_core_mutex
 \***************************************************************************/
 unsigned int ncs_agents_startup(void)
 {
-       uint32_t rc = NCSCC_RC_SUCCESS;
-
-       rc = ncs_core_agents_startup();
+       uint32_t rc = ncs_core_agents_startup();
        if (rc != NCSCC_RC_SUCCESS)
                return rc;
 
@@ -312,9 +309,7 @@ unsigned int ncs_mds_startup(void)
 \***************************************************************************/
 uint32_t ncs_non_core_agents_startup(void)
 {
-       uint32_t rc = NCSCC_RC_SUCCESS;
-
-       rc = ncs_mbca_startup();
+       uint32_t rc = ncs_mbca_startup();
 
        return rc;
 }
@@ -686,11 +681,10 @@ static uint32_t ncs_set_config_root(void
 uint32_t ncs_util_get_sys_params(NCS_SYS_PARAMS *sys_params)
 {
        char *tmp_ptr;
-       uint32_t res = NCSCC_RC_SUCCESS;
 
        memset(sys_params, 0, sizeof(NCS_SYS_PARAMS));
 
-       if ((res = ncs_set_config_root()) != NCSCC_RC_SUCCESS) {
+       if (ncs_set_config_root() != NCSCC_RC_SUCCESS) {
                TRACE_4("Unable to set config root \n");
                return NCSCC_RC_FAILURE;
        }
@@ -711,7 +705,6 @@ uint32_t ncs_util_get_sys_params(NCS_SYS
 
 void ncs_get_sys_params_arg(NCS_SYS_PARAMS *sys_params)
 {
-       char *p_field;
        uint32_t tmp_ctr;
        uint32_t orig_argc;
        NCS_SYS_PARAMS params;
@@ -728,7 +721,7 @@ void ncs_get_sys_params_arg(NCS_SYS_PARA
 
        /* Check argv[argc-1] through argv[1] */
        for (; argc > 1; argc--) {
-               p_field = strstr(&argv[argc - 1], "NODE_ID=");
+               char* p_field = strstr(&argv[argc - 1], "NODE_ID=");
                if (p_field != NULL) {
                        if (sscanf(p_field + strlen("NODE_ID="), "%d", 
&params.node_id) == 1)
                                sys_params->node_id = params.node_id;
@@ -791,11 +784,9 @@ uint32_t ncs_update_sys_param_args(void)
 \***************************************************************************/
 char *ncs_util_search_argv_list(int argc, char *argv[], char *arg_prefix)
 {
-       char *tmp;
-
        /* Check   argv[argc-1] through argv[1] */
        for (; argc > 1; argc--) {
-               tmp = strstr(argv[argc - 1], arg_prefix);
+               char* tmp = strstr(argv[argc - 1], arg_prefix);
                if (tmp != NULL)
                        return tmp;
        }
diff --git a/osaf/libs/core/common/nid_start_util.c 
b/osaf/libs/core/common/nid_start_util.c
--- a/osaf/libs/core/common/nid_start_util.c
+++ b/osaf/libs/core/common/nid_start_util.c
@@ -37,7 +37,7 @@
 unsigned int amf_comp_name_get_set_from_file(const char *env_name, SaNameT *dn)
 {
        unsigned int rc = NCSCC_RC_FAILURE;
-       char comp_name[SA_MAX_NAME_LENGTH] = { 0 };
+       char comp_name[257] = { 0 };
        FILE *fp;
        char *comp_name_file;
 
@@ -51,7 +51,7 @@ unsigned int amf_comp_name_get_set_from_
                goto done;
        }
 
-       if (fscanf(fp, "%s", comp_name) != 1) {
+       if (fscanf(fp, "%256s", comp_name) != 1) {
                (void)fclose(fp);
                LOG_ER("Unable to retrieve component name from file '%s'", 
comp_name_file);
                goto done;
diff --git a/osaf/libs/core/common/osaf_extended_name.c 
b/osaf/libs/core/common/osaf_extended_name.c
--- a/osaf/libs/core/common/osaf_extended_name.c
+++ b/osaf/libs/core/common/osaf_extended_name.c
@@ -180,6 +180,7 @@ void osaf_extended_name_alloc(SaConstStr
                        pointer = name->_opaque + 1;
                } else {
                        pointer = malloc(length + 1);
+                       // cppcheck-suppress uninitdata
                        set_ptr(pointer, name);
                }
                memcpy(pointer, value, length + 1);
diff --git a/osaf/libs/core/common/osaf_poll.c 
b/osaf/libs/core/common/osaf_poll.c
--- a/osaf/libs/core/common/osaf_poll.c
+++ b/osaf/libs/core/common/osaf_poll.c
@@ -82,7 +82,7 @@ unsigned osaf_ppoll(struct pollfd* io_fd
 
        for (;;) {
                struct timespec current_time;
-               struct timespec elapsed_time;
+               struct timespec elapsed_time = { .tv_sec = 0, .tv_nsec = 0 };
                int time_left;
 
                /* We don't want to time-out too early, so round up to next even
@@ -109,13 +109,6 @@ unsigned osaf_ppoll(struct pollfd* io_fd
                if (osaf_timespec_compare(&current_time, &start_time) >= 0) {
                        osaf_timespec_subtract(&current_time, &start_time,
                                &elapsed_time);
-               } else {
-                       /* Handle the unlikely case that the elapsed time is
-                        * negative. Shouldn't happen with a monotonic clock,
-                        * but just to be on the safe side.
-                        */
-                       elapsed_time.tv_sec = 0;
-                       elapsed_time.tv_nsec = 0;
                }
                if (osaf_timespec_compare(&elapsed_time, i_timeout_ts) >= 0) {
                        result = 0;
@@ -129,10 +122,8 @@ unsigned osaf_ppoll(struct pollfd* io_fd
 
 int osaf_poll_one_fd(int i_fd, int i_timeout)
 {
-       struct pollfd set;
+       struct pollfd set = { .fd = i_fd, .events = POLLIN, .revents = 0 };
        unsigned result;
-       set.fd = i_fd;
-       set.events = POLLIN;
        result = osaf_poll(&set, 1, i_timeout);
        if (result == 1) {
                if ((set.revents & (POLLNVAL | POLLERR)) != 0) {
diff --git a/osaf/libs/core/common/osaf_secutil.c 
b/osaf/libs/core/common/osaf_secutil.c
--- a/osaf/libs/core/common/osaf_secutil.c
+++ b/osaf/libs/core/common/osaf_secutil.c
@@ -48,6 +48,9 @@
 #include "logtrace.h"
 #include "include/osaf_secutil.h"
 
+static struct group* osaf_getgrent_r(struct group *gbuf, char** buf,
+                                    size_t* buflen);
+
 // singleton (one per process) callback
 static client_auth_data_callback_t client_auth_data_callback;
 
@@ -78,9 +81,7 @@ static void handle_new_connection(int se
        }
 
        // wait a while for data to get available on socket
-       struct pollfd fds;
-       fds.fd = client_fd;
-       fds.events = POLLIN;
+       struct pollfd fds = { .fd = client_fd, .events = POLLIN, .revents = 0 };
        int timeout = 10000;  // TODO allow configuration?
        int res = osaf_poll(&fds, 1, timeout);
 
@@ -111,7 +112,7 @@ static int server_sock_create(const char
 {
        int server_sockfd;
        socklen_t addrlen;
-       struct sockaddr_un unaddr;
+       struct sockaddr_un unaddr = { 0 };
 
        if ((server_sockfd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
                LOG_ER("%s: socket failed - %s", __FUNCTION__, strerror(errno));
@@ -161,19 +162,16 @@ static int server_sock_create(const char
 static void *auth_server_main(void *_fd)
 {
        int fd = *((int*) _fd);
-       struct pollfd fds[1];
+       struct pollfd fds = { .fd = fd, .events = POLLIN, .revents = 0 };
 
        TRACE_ENTER();
 
        free(_fd);
 
-       fds[0].fd = fd;
-       fds[0].events = POLLIN;
+       for (;;) {
+               osaf_poll(&fds, 1, -1);
 
-       while (1) {
-               (void) osaf_poll(fds, 1, -1);
-
-               if (fds[0].revents & POLLIN) {
+               if (fds.revents & POLLIN) {
                        handle_new_connection(fd);
                }
        }
@@ -199,7 +197,7 @@ int osaf_auth_server_create(const char *
        client_auth_data_callback = callback;
 
        // create server socket
-       int *fd = malloc(sizeof(int));
+       int *fd = calloc(1, sizeof(int));
        *fd = server_sock_create(pathname);
 
        osafassert(pthread_attr_init(&attr) == 0);
@@ -219,45 +217,80 @@ int osaf_auth_server_create(const char *
 /* used by server, logging is OK */
 bool osaf_user_is_member_of_group(uid_t uid, const char *groupname)
 {
-       int res;
-       char **member;
-       struct group grp;
-       struct group *result;
-       char grpmembuf[16384]; // can use sysconf(_SC_GETPW_R_SIZE_MAX)
-
-       // get group file entry with list of member user names
-       res = getgrnam_r(groupname, &grp, grpmembuf, sizeof(grpmembuf), 
&result);
-       if (res > 0) {
-               LOG_ER("%s: get group file entry failed for '%s' - %s",
-                       __FUNCTION__, groupname, strerror(res));
+       long grpmembufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
+       if (grpmembufsize < 0) grpmembufsize = 16384;
+       char* grpmembuf = malloc(grpmembufsize);
+       if (grpmembuf == NULL) {
+               LOG_ER("%s: Failed to allocate %ld bytes",
+                      __FUNCTION__, grpmembufsize);
                return false;
        }
 
-       if (result == NULL) {
+       long pwdmembufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
+       if (pwdmembufsize < 0) pwdmembufsize = 16384;
+       char* pwdmembuf = malloc(pwdmembufsize);
+       if (pwdmembuf == NULL) {
+               LOG_ER("%s: Failed to allocate %ld bytes",
+                      __FUNCTION__, pwdmembufsize);
+               free(grpmembuf);
+               return false;
+       }
+
+       // get group file entry with list of member user names
+       struct group gbuf;
+       struct group *client_grp;
+       int grnam_retval = getgrnam_r(groupname, &gbuf, grpmembuf, 
grpmembufsize, &client_grp);
+       if (grnam_retval != 0) {
+               LOG_ER("%s: get group file entry failed for '%s' - %s",
+                      __FUNCTION__, groupname, strerror(grnam_retval));
+               free(pwdmembuf);
+               free(grpmembuf);
+               return false;
+       }
+       if (client_grp == NULL) {
                LOG_ER("%s: group '%s' does not exist", __FUNCTION__, 
groupname);
+               free(pwdmembuf);
+               free(grpmembuf);
                return false;
        }
 
        // get password file entry for user
-       errno = 0;
-       struct passwd *client_pwd = getpwuid(uid);
+       struct passwd pbuf;
+       struct passwd *client_pwd;
+       int pwuid_retval = getpwuid_r(uid, &pbuf, pwdmembuf, pwdmembufsize, 
&client_pwd);
+       if (pwuid_retval != 0) {
+               LOG_WA("%s: get password file entry failed for uid=%u - %s",
+                      __FUNCTION__, (unsigned) uid, strerror(pwuid_retval));
+               free(pwdmembuf);
+               free(grpmembuf);
+               return false;
+       }
        if (client_pwd == NULL) {
-               LOG_WA("%s: get password file entry failed for uid=%d - %s",
-                       __FUNCTION__, uid, strerror(errno));
+               LOG_WA("%s: user id %u does not exist", __FUNCTION__, 
(unsigned) uid);
+               free(pwdmembuf);
+               free(grpmembuf);
                return false;
        }
 
        // check the primary group of the user
-       if (client_pwd->pw_gid == grp.gr_gid)
+       if (client_pwd->pw_gid == client_grp->gr_gid) {
+               free(pwdmembuf);
+               free(grpmembuf);
                return true;
+       }
 
        /* loop list of usernames that are members of the group trying find a
         * match with the specified user name */
-       for (member = grp.gr_mem; *member != NULL; member++) {
-               if (strcmp(client_pwd->pw_name, *member) == 0)
+       for (char **member = client_grp->gr_mem; *member != NULL; member++) {
+               if (strcmp(client_pwd->pw_name, *member) == 0) {
+                       free(pwdmembuf);
+                       free(grpmembuf);
                        return true;
+               }
        }
 
+       free(pwdmembuf);
+       free(grpmembuf);
        return false;
 }
 
@@ -267,7 +300,7 @@ int osaf_auth_server_connect(const char 
                              int timeout)
 {
        int sock_fd, len;
-       struct sockaddr_un remote;
+       struct sockaddr_un remote = { 0 };
 
        TRACE_ENTER();
 
@@ -291,10 +324,7 @@ int osaf_auth_server_connect(const char 
                goto done;
        }
 
-       struct pollfd fds;
-       fds.fd = sock_fd;
-       fds.events = POLLIN;
-
+       struct pollfd fds = { .fd = sock_fd, .events = POLLIN, .revents = 0 };
        int res = osaf_poll(&fds, 1, timeout);
 
        if (res == 0) {
@@ -325,95 +355,54 @@ done:
        return len;
 }
 
-int osaf_get_group_list(const uid_t uid, const gid_t gid, gid_t *groups, int 
*ngroups)
+int osaf_getgrouplist(const char* user, gid_t group, gid_t* groups, int* 
ngroups)
 {
-       int rc = -1;    // Initially set to error
+
+       char* gr_buf = NULL;
+       size_t gr_bufsize = 4096;
+       struct group gbuf;
+       struct group* gr;
        int size = 0;
-       int max_groups = sysconf(_SC_NGROUPS_MAX);
-       if (max_groups == -1){
-               LOG_ER("Could not get NGROUPS_MAX, %s",strerror(errno));
-       }
 
-       if (!ngroups){
-               LOG_ER("ngroups must not be NULL");
-               return -1;
-       }
+       if (size < *ngroups) groups[size] = group;
+       ++size;
 
-       if (*ngroups > max_groups){
-               LOG_ER("nGroups greater than NGROUPS_MAX");
-               return -1;
-       }
-
-       if (groups){
-               groups[size] = gid;
-       }
-       /* User always belong to at least one group */
-       size++;
-
-       struct passwd *pwd = getpwuid(uid);
-       if (!pwd){
-               LOG_ER("Could not getpwnam of user %d, %s", uid, 
strerror(errno));
-               return -1;
-       }
-
-       /* Reset entry to beginning */
-       errno = 0;
        setgrent();
-       /* setgrent() sometimes returns ENOENT on UML
-        * Explicitly treats it as not an error */
-       if (errno != 0 && errno != ENOENT) {
-               LOG_NO("setgrent failed: %s", strerror(errno));
-               return -1;
-       }
-
-       errno = 0;
-       struct group *gr = getgrent();
-       if (errno != 0) {
-               LOG_NO("setgrent failed: %s", strerror(errno));
-               goto done;
-       }
-
-       while (gr){
-               if (gr->gr_gid == gid){
-                       errno = 0;
-                       gr = getgrent();
-                       if (errno != 0) {
-                               LOG_NO("setgrent failed: %s", strerror(errno));
-                               goto done;
-                       }
-                       continue;
-               }
-
-               int i = 0;
-               for (i = 0; gr->gr_mem[i]; i++){
-                       if(strcmp(gr->gr_mem[i], pwd->pw_name) == 0){
-                               /* Found matched group */
-                               if ((groups) && (size < *ngroups)){
-                                       groups[size] = gr->gr_gid;
+       while ((gr = osaf_getgrent_r(&gbuf, &gr_buf, &gr_bufsize)) != NULL) {
+               if (gr->gr_gid != group) {
+                       for (int i = 0; gr->gr_mem[i] != NULL; ++i) {
+                               if (strcmp(gr->gr_mem[i], user) == 0) {
+                                       if (size < *ngroups) groups[size] = 
gr->gr_gid;
+                                       ++size;
+                                       break;
                                }
-                               size++;
-                               break;
                        }
                }
-               errno = 0;
-               gr = getgrent();
-               if (errno != 0) {
-                       LOG_NO("setgrent failed: %s", strerror(errno));
-                       goto done;
+       }
+       endgrent();
+       free(gr_buf);
+
+       int result = size <= *ngroups ? size : -1;
+       *ngroups = size;
+       return result;
+}
+
+static struct group* osaf_getgrent_r(struct group *gbuf, char** buf,
+                                    size_t* buflen)
+{
+       struct group* gbufp = NULL;
+       if (*buf == NULL) *buf = malloc(*buflen);
+       for (;;) {
+               if (*buf == NULL) {
+                       LOG_ER("could not allocate %zu bytes", *buflen);
+                       break;
                }
+               int result = getgrent_r(gbuf, *buf, *buflen, &gbufp);
+               if (result != ERANGE) break;
+               *buflen *= 2;
+               char* new_buf = realloc(*buf, *buflen);
+               if (new_buf == NULL) free(*buf);
+               *buf = new_buf;
        }
-
-       // rc will be set to non-error value
-       if (groups){
-               *ngroups = (size < *ngroups)? size : *ngroups;
-               rc = size;
-       } else {
-               *ngroups = size;
-               rc = 0;
-       }
-
-done:
-       endgrent();
-
-       return rc;
+       return gbufp;
 }
diff --git a/osaf/libs/core/common/osaf_timerfd.c 
b/osaf/libs/core/common/osaf_timerfd.c
--- a/osaf/libs/core/common/osaf_timerfd.c
+++ b/osaf/libs/core/common/osaf_timerfd.c
@@ -19,6 +19,7 @@
 #define _GNU_SOURCE
 #endif
 #include "osaf_timerfd.h"
+#include <string.h>
 #include <stdlib.h>
 #include <errno.h>
 #include <pthread.h>
@@ -181,6 +182,7 @@ int osaf_timerfd_create(clockid_t clock_
        timer->write_socket = sfd[1];
 
        struct sigevent event;
+       memset(&event, 0, sizeof(event));
        event.sigev_notify = SIGEV_THREAD;
        event.sigev_value.sival_int = timer->sequence_no;
        event.sigev_notify_function = EventHandler;
diff --git a/osaf/libs/core/cplusplus/base/tests/time_compare_test.cc 
b/osaf/libs/core/cplusplus/base/tests/time_compare_test.cc
--- a/osaf/libs/core/cplusplus/base/tests/time_compare_test.cc
+++ b/osaf/libs/core/cplusplus/base/tests/time_compare_test.cc
@@ -22,11 +22,15 @@ static const timespec kZeroDotNineSecond
 static const timespec kOneDotOneSeconds = { 1, 100000000 };
 
 TEST(BaseTimeCompare, ZeroWithZero) {
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(base::kZeroSeconds < base::kZeroSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(base::kZeroSeconds <= base::kZeroSeconds);
   EXPECT_TRUE(base::kZeroSeconds == base::kZeroSeconds);
   EXPECT_FALSE(base::kZeroSeconds != base::kZeroSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(base::kZeroSeconds >= base::kZeroSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(base::kZeroSeconds > base::kZeroSeconds);
 }
 
@@ -67,11 +71,15 @@ TEST(BaseTimeCompare, OneWithZero) {
 }
 
 TEST(BaseTimeCompare, OneWithOne) {
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(base::kOneSecond < base::kOneSecond);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(base::kOneSecond <= base::kOneSecond);
   EXPECT_TRUE(base::kOneSecond == base::kOneSecond);
   EXPECT_FALSE(base::kOneSecond != base::kOneSecond);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(base::kOneSecond >= base::kOneSecond);
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(base::kOneSecond > base::kOneSecond);
 }
 
@@ -94,11 +102,15 @@ TEST(BaseTimeCompare, OneDotOneWithOne) 
 }
 
 TEST(BaseTimeCompare, ZeroDotNineWithZeroDotNine) {
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(kZeroDotNineSeconds < kZeroDotNineSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(kZeroDotNineSeconds <= kZeroDotNineSeconds);
   EXPECT_TRUE(kZeroDotNineSeconds == kZeroDotNineSeconds);
   EXPECT_FALSE(kZeroDotNineSeconds != kZeroDotNineSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_TRUE(kZeroDotNineSeconds >= kZeroDotNineSeconds);
+  // cppcheck-suppress duplicateExpression
   EXPECT_FALSE(kZeroDotNineSeconds > kZeroDotNineSeconds);
 }
 
diff --git a/osaf/libs/core/include/ncspatricia.h 
b/osaf/libs/core/include/ncspatricia.h
--- a/osaf/libs/core/include/ncspatricia.h
+++ b/osaf/libs/core/include/ncspatricia.h
@@ -52,9 +52,6 @@ extern "C" {
 
        typedef struct ncs_patricia_params {
                int key_size;   /* 1..NCS_PATRICIA_MAX_KEY_SIZE - in OCTETS */
-               int info_size;  /* NOT USED!  Present for 
backward-compatibility only! */
-               int actual_key_size;    /* NOT USED!  Present for 
backward-compatibility only! */
-               int node_size;  /* NOT USED!  Present for backward 
compatibitity only! */
        } NCS_PATRICIA_PARAMS;
 
 #define NCS_PATRICIA_MAX_KEY_SIZE 600  /* # octets */
diff --git a/osaf/libs/core/leap/hj_edp.c b/osaf/libs/core/leap/hj_edp.c
--- a/osaf/libs/core/leap/hj_edp.c
+++ b/osaf/libs/core/leap/hj_edp.c
@@ -166,7 +166,6 @@ uint32_t ncs_edp_uns8(EDU_HDL *hdl, EDU_
 {
        uint8_t *p8;
        uint8_t u8 = 0x00;
-       uint16_t len = 0;
 #if(NCS_EDU_VERBOSE_PRINT == 1)
        uint32_t i = 0;
 #endif
@@ -209,7 +208,7 @@ uint32_t ncs_edp_uns8(EDU_HDL *hdl, EDU_
                {
                        uint8_t *uptr = NULL;
 
-                       len = 1;        /* default */
+                       uint16_t len = 1;       /* default */
                        if (!buf_env->is_ubaid) {
                                /* Look into length of the Octet-stream first. 
*/
                                p8 = (uint8_t *)buf_env->info.tlv_env.cur_bufp;
@@ -349,7 +348,7 @@ uint32_t ncs_edp_uns16(EDU_HDL *hdl, EDU
                    uint32_t *ptr_data_len, EDU_BUF_ENV *buf_env, EDP_OP_TYPE 
op, EDU_ERR *o_err)
 {
        uint8_t *p8;
-       uint16_t u16, len = 1, byte_cnt = 0;
+       uint16_t u16;
 
        switch (op) {
        case EDP_OP_TYPE_ENC:
@@ -369,7 +368,7 @@ uint32_t ncs_edp_uns16(EDU_HDL *hdl, EDU
                                *ptr_data_len = 1;
                        }
                        /* "*ptr_data_len" instances of "uns16" to be encoded */
-                       byte_cnt = (uint16_t)ncs_encode_tlv_n_16bit(&p8, 
(uint16_t *)ptr, (uint16_t)*ptr_data_len);
+                       uint16_t byte_cnt = (uint16_t) 
ncs_encode_tlv_n_16bit(&p8, (uint16_t*) ptr, (uint16_t) *ptr_data_len);
                        ncs_edu_skip_space(&buf_env->info.tlv_env, byte_cnt);
 #if(NCS_EDU_VERBOSE_PRINT == 1)
                        memset(&gl_log_string, '\0', GL_LOG_STRING_LEN);
@@ -382,7 +381,7 @@ uint32_t ncs_edp_uns16(EDU_HDL *hdl, EDU
                {
                        uint16_t *uptr = NULL;
 
-                       len = 1;        /* default */
+                       uint16_t len = 1;       /* default */
                        if (!buf_env->is_ubaid) {
                                /* Look into length of the Octet-stream first. 
*/
                                p8 = (uint8_t *)buf_env->info.tlv_env.cur_bufp;
@@ -775,7 +774,7 @@ uint32_t ncs_edp_string(EDU_HDL *hdl, ED
                     uint32_t *ptr_data_len, EDU_BUF_ENV *buf_env, EDP_OP_TYPE 
op, EDU_ERR *o_err)
 {
        uint8_t *p8, *src_p8;
-       uint16_t len = 0, byte_cnt = 0;
+       uint16_t len = 0;
 
        switch (op) {
        case EDP_OP_TYPE_ENC:
@@ -794,7 +793,7 @@ uint32_t ncs_edp_string(EDU_HDL *hdl, ED
                        }
                } else {
                        p8 = (uint8_t *)buf_env->info.tlv_env.cur_bufp;
-                       byte_cnt = (uint16_t)ncs_encode_tlv_n_octets(&p8, 
src_p8, (uint8_t)len);
+                       uint16_t byte_cnt = (uint16_t) 
ncs_encode_tlv_n_octets(&p8, src_p8, (uint8_t) len);
                        ncs_edu_skip_space(&buf_env->info.tlv_env, byte_cnt);
                }
 #if(NCS_EDU_VERBOSE_PRINT == 1)
@@ -1658,7 +1657,7 @@ uint32_t ncs_edp_uns64(EDU_HDL *hdl, EDU
                if (*(uint64_t **)ptr == NULL) {
                        /* Since "uns64" is the responsibility of LEAP, LEAP
                           is supposed to malloc this memory. */
-                       (*(uint64_t **)ptr) = uptr = malloc((sizeof(uint64_t) / 
sizeof(uint8_t))*sizeof(uint8_t));
+                       (*(uint64_t**) ptr) = uptr = malloc(sizeof(uint64_t));
                        if (uptr == NULL) {
                                /* Memory failure. */
                                *o_err = EDU_ERR_MEM_FAIL;
@@ -1810,7 +1809,7 @@ uint32_t ncs_edp_int64(EDU_HDL *hdl, EDU
                if (*(int64_t **)ptr == NULL) {
                        /* Since "int64" is the responsibility of LEAP, LEAP
                           is supposed to malloc this memory. */
-                       (*(int64_t **)ptr) = uptr = malloc((sizeof(int64_t) / 
sizeof(uint8_t))*sizeof(uint8_t));
+                       (*(int64_t**) ptr) = uptr = malloc(sizeof(int64_t));
                        if (uptr == NULL) {
                                /* Memory failure. */
                                *o_err = EDU_ERR_MEM_FAIL;
diff --git a/osaf/libs/core/leap/hj_edu.c b/osaf/libs/core/leap/hj_edu.c
--- a/osaf/libs/core/leap/hj_edu.c
+++ b/osaf/libs/core/leap/hj_edu.c
@@ -129,7 +129,6 @@ uint32_t ncs_edu_ver_exec(EDU_HDL *edu_h
 {
        uint32_t rc = NCSCC_RC_SUCCESS, lcl_cnt = 0;
        EDU_BUF_ENV lcl_edu_buf;
-       va_list arguments;      /* A place to store the list of arguments */
        int *var_array = NULL;
 
        /* Error checks done here. */
@@ -194,6 +193,7 @@ uint32_t ncs_edu_ver_exec(EDU_HDL *edu_h
 
                var_array =  malloc(var_cnt*sizeof(int));
 
+               va_list arguments;
                va_start(arguments, var_cnt);
                for (x = 0; x < var_cnt; x++) {
                        var_array[x] = va_arg(arguments, int);
@@ -410,9 +410,8 @@ uint32_t ncs_edu_run_edp(EDU_HDL *edu_hd
 {
        NCSCONTEXT lcl_ptr = NULL;
        EDU_HDL_NODE *lcl_hdl_node = NULL;
-       uint32_t lcl_rc = NCSCC_RC_SUCCESS, dtype_attrb = 0x00000000;
-       NCS_EDU_ADMIN_OP_INFO admin_op;
-       uint32_t next_offset = 0, cnt = 0;      /* for linked list */
+       uint32_t lcl_rc = NCSCC_RC_SUCCESS;
+       uint32_t next_offset = 0;       /* for linked list */
        uint8_t *p8, u8 = 0;
        uint16_t u16 = 0;
 
@@ -434,14 +433,17 @@ uint32_t ncs_edu_run_edp(EDU_HDL *edu_hd
            || (optype == EDP_OP_TYPE_PP)
 #endif
            ) {
+               uint32_t cnt = 0;
                /* Lookup data-type attributes, and if it's a linked-list/array,
                   run the loop here. */
-               dtype_attrb = lcl_hdl_node->attrb;
+               uint32_t dtype_attrb = lcl_hdl_node->attrb;
 
                /* Now that dtype_attrb got filled, compare it with expected
                   values. */
                if ((dtype_attrb & EDQ_LNKLIST) == EDQ_LNKLIST) {
                        /* Get next_offset. */
+                       NCS_EDU_ADMIN_OP_INFO admin_op;
+                       memset(&admin_op, 0, sizeof(admin_op));
                        admin_op.adm_op_type = 
NCS_EDU_ADMIN_OP_TYPE_GET_LL_NEXT_OFFSET;
                        admin_op.info.get_ll_offset.o_next_offset = 
&next_offset;
                        edp(edu_hdl, edu_tkn, (NCSCONTEXT)&admin_op, NULL, 
NULL, EDP_OP_TYPE_ADMIN, o_err);
@@ -494,9 +496,6 @@ uint32_t ncs_edu_run_edp(EDU_HDL *edu_hd
                }
        } else {
                /* Encode/Admin operations */
-               if (optype == EDP_OP_TYPE_ADMIN) {
-                       admin_op = *((NCS_EDU_ADMIN_OP_INFO *)ptr);
-               }
                lcl_rc = edp(edu_hdl, edu_tkn, ptr, dcnt, buf_env, optype, 
o_err);
        }
 
@@ -2475,7 +2474,7 @@ uint32_t ncs_edu_validate_and_gen_test_i
 
        for (i = 0; ((i != instr_count) && (rules_head[i].instr != EDU_END)); 
i++) {
                if (rules_head[i].instr == EDU_TEST) {
-                       bool already_added = false, lclfnd = false;
+                       bool already_added = false;
 
                        /* If already in the "*head" list, just increment the 
"refcount"
                           of that entry. */
@@ -2488,6 +2487,7 @@ uint32_t ncs_edu_validate_and_gen_test_i
                                }
                        }
                        if (!already_added) {
+                               bool lclfnd = false;
                                /* Verify whether there exists an "EDU_EXEC" 
instruction
                                   with offset matching "rules_head[i].fld5", 
and EDP value
                                   matching "rules_head[i].fld1". If yes, then 
only this
@@ -2525,7 +2525,7 @@ uint32_t ncs_edu_validate_and_gen_test_i
                        }       /* if(!already_added) */
                } /* if(rules_head[i].instr == EDU_TEST) */
                else if (rules_head[i].instr == EDU_EXEC) {
-                       bool already_added = false, lcl_to_be_added = false;
+                       bool lcl_to_be_added = false;
 
                        for (j = 0; (((j != instr_count) && rules_head[j].instr 
!= EDU_END)); j++) {
                                if (rules_head[j].instr == EDU_EXEC) {
@@ -2540,6 +2540,7 @@ uint32_t ncs_edu_validate_and_gen_test_i
                                }
                        }
                        if (lcl_to_be_added) {
+                               bool already_added = false;
                                /* Lookup "fld6" offset in the structure, and 
store the instruction
                                   as a test-able field */
                                for (tmp = *head; (tmp != NULL); tmp = 
tmp->next) {
@@ -3241,11 +3242,12 @@ bool ncs_edu_return_builtin_edp_size(EDU
 *****************************************************************************/
 uint32_t ncs_edu_compile_edp(EDU_HDL *edu_hdl, EDU_PROG_HANDLER prog, 
EDU_HDL_NODE **hdl_node, EDU_ERR *o_err)
 {
-       EDU_HDL_NODE *lcl_hdl_node = NULL, *new_node = NULL;
+       EDU_HDL_NODE *lcl_hdl_node = NULL;
 
        /* If hdl_node entry not present, add now. */
        if ((lcl_hdl_node = (EDU_HDL_NODE *)
             ncs_patricia_tree_get(&edu_hdl->tree, (uint8_t *)&prog)) == NULL) {
+               EDU_HDL_NODE* new_node;
                if ((lcl_hdl_node = (new_node = (EDU_HDL_NODE *) 
malloc(sizeof(EDU_HDL_NODE)))) == NULL) {
                        *o_err = EDU_ERR_MEM_FAIL;
                        return NCSCC_RC_FAILURE;
@@ -3289,12 +3291,8 @@ uint32_t ncs_edu_compile_edp(EDU_HDL *ed
 *****************************************************************************/
 uint32_t ncs_edu_hdl_init(EDU_HDL *edu_hdl)
 {
-       NCS_PATRICIA_PARAMS list_params;
-
        memset(edu_hdl, '\0', sizeof(EDU_HDL));
-       /* Init the tree first */
-       list_params.key_size = sizeof(EDU_PROG_HANDLER);
-       /*    list_params.info_size = 0;  */
+       NCS_PATRICIA_PARAMS list_params = { .key_size = 
sizeof(EDU_PROG_HANDLER) };
        if ((ncs_patricia_tree_init(&edu_hdl->tree, &list_params))
            != NCSCC_RC_SUCCESS) {
                return m_LEAP_DBG_SINK(NCSCC_RC_FAILURE);
@@ -3318,13 +3316,13 @@ uint32_t ncs_edu_hdl_init(EDU_HDL *edu_h
 *****************************************************************************/
 uint32_t ncs_edu_hdl_flush(EDU_HDL *edu_hdl)
 {
-       EDU_PROG_HANDLER lcl_key, *key = NULL;
-       NCS_PATRICIA_NODE *pnode = NULL;
-
        if (edu_hdl->is_inited == true) {
+               EDU_PROG_HANDLER lcl_key, *key = NULL;
                for (;;) {
+                       NCS_PATRICIA_NODE *pnode;
                        if ((pnode = ncs_patricia_tree_getnext(&edu_hdl->tree, 
(const uint8_t *)key)) != NULL) {
                                /* Store the key for the next getnext call */
+                               // cppcheck-suppress unreadVariable
                                lcl_key = ((EDU_HDL_NODE *)pnode)->edp;
                                key = &lcl_key;
 
@@ -3444,7 +3442,7 @@ uint32_t ncs_encode_tlv_16bit(uint8_t **
 *****************************************************************************/
 uint32_t ncs_encode_tlv_n_16bit(uint8_t **stream, uint16_t *val_ptr, uint16_t 
n_count)
 {
-       uint16_t lcnt = 0, len = n_count, val = 0;
+       uint16_t lcnt = 0, len = n_count;
 
        if (n_count == 0)
                return 0;
@@ -3453,7 +3451,7 @@ uint32_t ncs_encode_tlv_n_16bit(uint8_t 
        *(*stream)++ = (uint8_t)(len >> 8);     /* length */
        *(*stream)++ = (uint8_t)len;    /* length */
        for (; lcnt < n_count; lcnt++) {
-               val = *val_ptr;
+               uint16_t val = *val_ptr;
                *(*stream)++ = (uint8_t)(val >> 8);
                *(*stream)++ = (uint8_t)(val);
                val_ptr++;
@@ -3496,7 +3494,6 @@ uint32_t ncs_encode_tlv_32bit(uint8_t **
 uint32_t ncs_encode_tlv_n_32bit(uint8_t **stream, uint32_t *val_ptr, uint16_t 
n_count)
 {
        uint16_t lcnt = 0, len = n_count;
-       uint32_t val = 0;
 
        if (n_count == 0)
                return 0;
@@ -3505,7 +3502,7 @@ uint32_t ncs_encode_tlv_n_32bit(uint8_t 
        *(*stream)++ = (uint8_t)(len >> 8);     /* length */
        *(*stream)++ = (uint8_t)len;    /* length */
        for (; lcnt < n_count; lcnt++) {
-               val = *val_ptr;
+               uint32_t val = *val_ptr;
                *(*stream)++ = (uint8_t)(val >> 24);
                *(*stream)++ = (uint8_t)(val >> 16);
                *(*stream)++ = (uint8_t)(val >> 8);
@@ -3526,7 +3523,6 @@ uint32_t ncs_encode_tlv_n_32bit(uint8_t 
 *****************************************************************************/
 uint32_t ncs_encode_tlv_n_octets(uint8_t **stream, uint8_t *val, uint16_t 
count)
 {
-       int i;
        uint16_t lcnt = count;
 
        *(*stream)++ = (uint8_t)(NCS_EDU_FMAT_OCT);     /* type */
@@ -3538,7 +3534,7 @@ uint32_t ncs_encode_tlv_n_octets(uint8_t
                        return (uint32_t)EDU_TLV_HDR_SIZE;
                }
 
-               for (i = 0; i < count; i++)
+               for (int i = 0; i < count; i++)
                        *(*stream)++ = *val++;
        }
        return (uint32_t)(EDU_TLV_HDR_SIZE + count);
@@ -3623,7 +3619,6 @@ uint32_t ncs_decode_tlv_32bit(uint8_t **
 *****************************************************************************/
 uint16_t ncs_decode_tlv_n_32bit(uint8_t **stream, uint32_t *dest)
 {
-       uint32_t val = 0;               /* Accumulator */
        uint16_t lcnt = 0, len = 0;
 
        (*stream)++;            /* type */
@@ -3632,7 +3627,7 @@ uint16_t ncs_decode_tlv_n_32bit(uint8_t 
        len |= (uint16_t)*(*stream)++;
 
        for (; lcnt < len; lcnt++) {
-               val = (uint32_t)*(*stream)++ << 24;
+               uint32_t val = (uint32_t)*(*stream)++ << 24;
                val |= (uint32_t)*(*stream)++ << 16;
                val |= (uint32_t)*(*stream)++ << 8;
                val |= (uint32_t)*(*stream)++;
@@ -3676,7 +3671,6 @@ uint16_t ncs_decode_tlv_16bit(uint8_t **
 *****************************************************************************/
 uint16_t ncs_decode_tlv_n_16bit(uint8_t **stream, uint16_t *dest)
 {
-       uint16_t val = 0;               /* Accumulator */
        uint16_t lcnt = 0, len = 0;
 
        (*stream)++;            /* type */
@@ -3685,7 +3679,7 @@ uint16_t ncs_decode_tlv_n_16bit(uint8_t 
        len |= (uint16_t)*(*stream)++;
 
        for (; lcnt < len; lcnt++) {
-               val = (uint16_t)((uint16_t)*(*stream)++ << 8);
+               uint16_t val = (uint16_t)((uint16_t)*(*stream)++ << 8);
                val |= (uint16_t)*(*stream)++;
                /* Convert to host-order and Write it back */
                dest[lcnt] = val;
diff --git a/osaf/libs/core/leap/hj_enc.c b/osaf/libs/core/leap/hj_enc.c
--- a/osaf/libs/core/leap/hj_enc.c
+++ b/osaf/libs/core/leap/hj_enc.c
@@ -55,7 +55,6 @@
 
 USRBUF *ncs_encode_n_octets(USRBUF *u, uint8_t *os, unsigned int count)
 {
-       uint8_t *p;
        unsigned int remaining = count;
        unsigned int offset = 0;
 
@@ -65,6 +64,7 @@ USRBUF *ncs_encode_n_octets(USRBUF *u, u
                count = remaining;
 
        do {
+               uint8_t *p;
                if ((p = m_MMGR_RESERVE_AT_END(&u, count, uint8_t *)) != 
(uint8_t *)0) {
                        /*
                         * Build the octet string...Remember a NULL pointer
diff --git a/osaf/libs/core/leap/hj_hdl.c b/osaf/libs/core/leap/hj_hdl.c
--- a/osaf/libs/core/leap/hj_hdl.c
+++ b/osaf/libs/core/leap/hj_hdl.c
@@ -176,7 +176,6 @@ uint32_t ncshm_init(void)
 {
        /* Hdl Mgr does bit-fields; here we do a few exercises up front to make 
*/
        /* sure YOUR target system can cope with bit-stuff we do............... 
*/
-       HM_HDL ha;
        HM_HDL hb;
        HM_HDL *p_hdl;
        uint32_t *p_temp;
@@ -190,10 +189,12 @@ uint32_t ncshm_init(void)
 
        assert(sizeof(uint32_t) == sizeof(HM_HDL));     /* must be same size */
 
-       ha.idx1 = 1;            /* make up a fake handle with values */
-       ha.idx2 = 2;
-       ha.idx3 = 3;
-       ha.seq_id = 6;
+       HM_HDL ha = {
+               .seq_id = 6,
+               .idx1 = 1,              /* make up a fake handle with values */
+               .idx2 = 2,
+               .idx3 = 3
+       };
 
        /* cast to INT PTR, to HDL PTR, deref to HDL; bit-fields still stable ? 
*/
 
@@ -228,7 +229,6 @@ uint32_t ncshm_init(void)
 void ncshm_delete(void)
 {
        uint32_t i, j;
-       HM_UNIT *unit;
 
        gl_im_created--;
        if (gl_im_created > 0)
@@ -242,6 +242,7 @@ void ncshm_delete(void)
        }
 
        for (i = 0; i < HM_UNIT_CNT; i++) {
+               HM_UNIT *unit;
                if ((unit = gl_hm.unit[i]) != NULL) {
                        for (j = 0; j < HM_BANK_CNT; j++) {
                                if (unit->cells[j] != NULL)
@@ -268,7 +269,6 @@ void ncshm_delete(void)
 uint32_t ncshm_create_hdl(uint8_t pool, NCS_SERVICE_ID id, NCSCONTEXT save)
 {
        HM_FREE *free;
-       HM_CELL *cell;
        uint32_t ret = 0;
 
        if (pool >= HM_POOL_CNT)
@@ -277,7 +277,7 @@ uint32_t ncshm_create_hdl(uint8_t pool, 
        m_NCS_LOCK(&gl_hm.lock[pool], NCS_LOCK_WRITE);
 
        if ((free = hm_alloc_cell(pool)) != NULL) {
-               cell = hm_find_cell(&free->hdl);        /* These two lines are 
sanity */
+               HM_CELL* cell = hm_find_cell(&free->hdl);       /* These two 
lines are sanity */
                assert(((void *)free == (void *)cell)); /* checks that add no 
value   */
 
                ret = (*(uint32_t *)&free->hdl);
@@ -544,8 +544,6 @@ uint32_t hm_make_free_cells(HM_PMGR *pmg
 {
        HM_UNIT *unit;
        HM_CELLS *cells;
-       HM_CELL *cell;
-       HM_HDL hdl;
        uint32_t i;
 
        unit = gl_hm.unit[pmgr->curr];
@@ -575,15 +573,18 @@ uint32_t hm_make_free_cells(HM_PMGR *pmg
 
        memset(cells, 0, sizeof(HM_CELLS));
 
-       hdl.idx1 = pmgr->curr;  /* set handle conditions */
-       hdl.idx2 = unit->curr;
-       hdl.seq_id = 0;
+       HM_HDL hdl = {
+               .seq_id = 0,
+               .idx1 = pmgr->curr,     /* set handle conditions */
+               .idx2 = unit->curr,
+               .idx3 = 0
+       };
 
        unit->cells[unit->curr++] = cells;      /* update curr++ for next time 
*/
 
        for (i = 0; i < HM_CELL_CNT; i++) {     /* carve um up and put in 
free-po0l */
                hdl.idx3 = i;
-               cell = &(cells->cell[i]);
+               HM_CELL* cell = &(cells->cell[i]);
                hm_free_cell(cell, &hdl, false);
        }
 
diff --git a/osaf/libs/core/leap/hj_tmr.c b/osaf/libs/core/leap/hj_tmr.c
--- a/osaf/libs/core/leap/hj_tmr.c
+++ b/osaf/libs/core/leap/hj_tmr.c
@@ -386,12 +386,11 @@ uint32_t ncs_rp_tmr_stop(NCS_RP_TMR_CB *
 **************************************************************************/
 uint32_t ncs_rp_tmr_delete(NCS_RP_TMR_CB *tmr_cb, NCS_RP_TMR_HDL tmr_id)
 {
-       NCS_RP_TMR_INFO *tmr_info;
        uint32_t res = NCSCC_RC_SUCCESS;
 
        m_NCS_LOCK(&tmr_cb->tmr_lock, NCS_LOCK_WRITE);
        do {
-               tmr_info = (NCS_RP_TMR_INFO *)tmr_id;
+               NCS_RP_TMR_INFO* tmr_info = (NCS_RP_TMR_INFO *)tmr_id;
                if (tmr_info == NULL) {
                        m_RP_TMR_LOG_MSG("ncs_rp_tmr_delete timer is not 
started already", tmr_info);
                        res = NCSCC_RC_FAILURE;
@@ -422,7 +421,6 @@ uint32_t ncs_rp_tmr_delete(NCS_RP_TMR_CB
 uint32_t ncs_rp_tmr_destory(NCS_RP_TMR_CB **pptmr_cb)
 {
        NCS_RP_TMR_INFO *tmr_info;
-       NCS_RP_TMR_INFO *pres_tmr_info;
        NCS_RP_TMR_CB *tmr_cb = *pptmr_cb;
 
        m_NCS_LOCK(&tmr_cb->tmr_lock, NCS_LOCK_WRITE);
@@ -436,7 +434,7 @@ uint32_t ncs_rp_tmr_destory(NCS_RP_TMR_C
                m_NCS_TMR_DESTROY(tmr_cb->tmr_id);
 
                /* remove all the buckets and node */
-               pres_tmr_info = tmr_info;
+               NCS_RP_TMR_INFO* pres_tmr_info = tmr_info;
                for (; tmr_info != NULL;) {
                        tmr_info = tmr_info->pnext;
                        free(pres_tmr_info);
@@ -468,7 +466,6 @@ uint32_t ncs_rp_tmr_destory(NCS_RP_TMR_C
 uint32_t ncs_rp_tmr_exp(NCS_RP_TMR_CB *tmr_cb)
 {
        NCS_RP_TMR_INFO *tmr_list;
-       NCS_RP_TMR_INFO *prev_tmr_info;
        RP_TMR_CALLBACK call_back;
        void *arg;
        uint32_t tmr_diff = 0;
@@ -484,7 +481,7 @@ uint32_t ncs_rp_tmr_exp(NCS_RP_TMR_CB *t
                m_RP_TMR_LOG_MSG("ncs_rp_tmr_exp received successfully", 0);
 
                tmr_list = tmr_cb->start_list;
-               prev_tmr_info = tmr_list;
+               NCS_RP_TMR_INFO* prev_tmr_info = tmr_list;
 
                m_NCS_TMR_STOP(tmr_cb->tmr_id);
                /* now OS timer is in active */
diff --git a/osaf/libs/core/leap/hj_ubaid.c b/osaf/libs/core/leap/hj_ubaid.c
--- a/osaf/libs/core/leap/hj_ubaid.c
+++ b/osaf/libs/core/leap/hj_ubaid.c
@@ -705,7 +705,6 @@ uint32_t ncs_uba_decode_pointer(NCS_UBAI
 *****************************************************************************/
 uint32_t ncs_encode_n_octets_in_uba(NCS_UBAID *uba, uint8_t *os, unsigned int 
count)
 {
-       uint8_t *p;
        uint32_t remaining;
        uint32_t try_put;
 
@@ -733,7 +732,7 @@ uint32_t ncs_encode_n_octets_in_uba(NCS_
                   needs more than PAYLOAD_BUF_SIZE bytes anyway. 
                 */
                try_put = remaining;
-               p = m_MMGR_RESERVE_AT_END_AMAP(&(uba->ub), &try_put, uint8_t 
*);        /* Total=false, i.e. only as much as possible */
+               uint8_t* p = m_MMGR_RESERVE_AT_END_AMAP(&(uba->ub), &try_put, 
uint8_t *);       /* Total=false, i.e. only as much as possible */
                if (p != NULL) {
                        /*
                         * Build the octet string...Remember a NULL pointer
diff --git a/osaf/libs/core/leap/os_defs.c b/osaf/libs/core/leap/os_defs.c
--- a/osaf/libs/core/leap/os_defs.c
+++ b/osaf/libs/core/leap/os_defs.c
@@ -502,7 +502,6 @@ uint32_t ncs_os_mq(NCS_OS_MQ_REQ_INFO *i
                        /* Create logic to-be-made more robust: Phani */
                        /* Create flag to-be-changed from 644 to something 
better: Phani */
                        /* Check to-be-added to validate NCS_OS_MQ_MAX_PAYLOAD 
limit: Phani */
-                       NCS_OS_MQ_HDL tmp_hdl;
 
                        info->info.create.o_hdl = 
msgget(*info->info.create.i_key,
                                                         
NCS_OS_MQ_PROTECTION_FLAGS | IPC_CREAT | IPC_EXCL);
@@ -511,7 +510,7 @@ uint32_t ncs_os_mq(NCS_OS_MQ_REQ_INFO *i
                                /*  Queue already exists. We should start with
                                 **  a fresh queue. So let us delete this queue 
                                 */
-                               tmp_hdl = msgget(*info->info.create.i_key, 
NCS_OS_MQ_PROTECTION_FLAGS);
+                               NCS_OS_MQ_HDL tmp_hdl = 
msgget(*info->info.create.i_key, NCS_OS_MQ_PROTECTION_FLAGS);
 
                                if (msgctl(tmp_hdl, IPC_RMID, NULL) != 0) {
                                        /* Queue deletion unsuccessful */
@@ -587,7 +586,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
        case NCS_OS_POSIX_MQ_REQ_MSG_SEND_ASYNC:
                {
 
-                       NCS_OS_MQ_REQ_INFO os_req;
+                       NCS_OS_MQ_REQ_INFO os_req = { 0 };
 
                        if (req->req == NCS_OS_POSIX_MQ_REQ_MSG_SEND)
                                os_req.req = NCS_OS_MQ_REQ_MSG_SEND;
@@ -608,7 +607,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
        case NCS_OS_POSIX_MQ_REQ_MSG_RECV_ASYNC:
                {
 
-                       NCS_OS_MQ_REQ_INFO os_req;
+                       NCS_OS_MQ_REQ_INFO os_req = { 0 };
 
                        if (req->req == NCS_OS_POSIX_MQ_REQ_MSG_RECV)
                                os_req.req = NCS_OS_MQ_REQ_MSG_RECV;
@@ -640,9 +639,8 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
                break;
        case NCS_OS_POSIX_MQ_REQ_OPEN:
                {
-                       NCS_OS_MQ_REQ_INFO os_req;
+                       NCS_OS_MQ_REQ_INFO os_req = { 0 };
                        NCS_OS_MQ_KEY key;
-                       FILE *file;
                        char filename[264];
                        struct msqid_ds buf;
 
@@ -653,7 +651,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
                        if (req->info.open.iflags & O_CREAT) {
                                os_req.req = NCS_OS_MQ_REQ_CREATE;
 
-                               file = fopen(filename, "w");
+                               FILE* file = fopen(filename, "w");
                                if (file == NULL)
                                        return NCSCC_RC_FAILURE;
 
@@ -689,7 +687,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
                break;
        case NCS_OS_POSIX_MQ_REQ_RESIZE:
                {
-                       NCS_OS_MQ_REQ_INFO os_req;
+                       NCS_OS_MQ_REQ_INFO os_req = { 0 };
 
                        os_req.req = NCS_OS_MQ_REQ_RESIZE;
                        os_req.info.resize.i_hdl = req->info.resize.mqd;
@@ -701,7 +699,7 @@ uint32_t ncs_os_posix_mq(NCS_OS_POSIX_MQ
                break;
        case NCS_OS_POSIX_MQ_REQ_CLOSE:
                {
-                       NCS_OS_MQ_REQ_INFO os_req;
+                       NCS_OS_MQ_REQ_INFO os_req = { 0 };
 
                        os_req.req = NCS_OS_MQ_REQ_DESTROY;
                        os_req.info.destroy.i_hdl = req->info.close.mqd;
@@ -770,7 +768,6 @@ static int32_t ncs_shm_prot_flags(uint32
 
 uint32_t ncs_os_posix_shm(NCS_OS_POSIX_SHM_REQ_INFO *req)
 {
-       uint32_t prot_flag;
        int32_t ret_flag;
        uint64_t shm_size;
        char shm_name[PATH_MAX];
@@ -807,7 +804,7 @@ uint32_t ncs_os_posix_shm(NCS_OS_POSIX_S
                                 }
                        }
 
-                       prot_flag = ncs_shm_prot_flags(req->info.open.i_flags);
+                       uint32_t prot_flag = 
ncs_shm_prot_flags(req->info.open.i_flags);
                        req->info.open.o_addr =
                            mmap(req->info.open.o_addr, (size_t)shm_size /* 
size_t == unsigned long */ ,
                                 prot_flag, req->info.open.i_map_flags, 
req->info.open.o_fd, req->info.open.i_offset);
diff --git a/osaf/libs/core/leap/sysf_exc_scr.c 
b/osaf/libs/core/leap/sysf_exc_scr.c
--- a/osaf/libs/core/leap/sysf_exc_scr.c
+++ b/osaf/libs/core/leap/sysf_exc_scr.c
@@ -103,12 +103,12 @@ void ncs_exc_mdl_stop_timer(SYSF_PID_LIS
 \**************************************************************************/
 void ncs_exec_module_signal_hdlr(int signal)
 {
-       EXEC_MOD_INFO info;
-
        if (signal == SIGCHLD) {
-               info.pid = 0;
-               info.status = 0;
-               info.type = SYSF_EXEC_INFO_SIG_CHLD;
+               EXEC_MOD_INFO info = {
+                       .pid = 0,
+                       .status = 0,
+                       .type = SYSF_EXEC_INFO_SIG_CHLD
+               };
 
                /*  printf("\n In  SIGCHLD Handler \n"); */
 
@@ -140,12 +140,11 @@ void ncs_exec_module_signal_hdlr(int sig
 \**************************************************************************/
 void ncs_exec_module_timer_hdlr(void *uarg)
 {
-       EXEC_MOD_INFO info;
-       int status = 0;
-
-       info.pid = NCS_PTR_TO_INT32_CAST(uarg);
-       info.status = status;
-       info.type = SYSF_EXEC_INFO_TIME_OUT;
+       EXEC_MOD_INFO info = {
+               .pid = NCS_PTR_TO_INT32_CAST(uarg),
+               .status = 0,
+               .type = SYSF_EXEC_INFO_TIME_OUT
+       };
 
        if(-1 == write(module_cb.write_fd, (const void *)&info,
                                sizeof(EXEC_MOD_INFO))){
@@ -398,11 +397,9 @@ uint32_t init_exec_mod_cb(void)
 \**************************************************************************/
 uint32_t start_exec_mod_cb(void)
 {
-       NCS_PATRICIA_PARAMS pt_params;
+       NCS_PATRICIA_PARAMS pt_params = { .key_size = sizeof(uint32_t) };
        int spair[2];
 
-       pt_params.key_size = sizeof(uint32_t);
-
        if (ncs_patricia_tree_init(&module_cb.pid_list, &pt_params) != 
NCSCC_RC_SUCCESS) {
                return m_LEAP_DBG_SINK(NCSCC_RC_FAILURE);
        }
@@ -457,7 +454,6 @@ uint32_t start_exec_mod_cb(void)
 \**************************************************************************/
 uint32_t exec_mod_cb_destroy(void)
 {
-       SYSF_PID_LIST *exec_pid = NULL;
        uint8_t pid = 0;
 
        if (module_cb.init == true) {
@@ -471,6 +467,7 @@ uint32_t exec_mod_cb_destroy(void)
 
                m_NCS_LOCK(&module_cb.tree_lock, NCS_LOCK_WRITE);
 
+               SYSF_PID_LIST* exec_pid;
                while (NULL != (exec_pid = (SYSF_PID_LIST 
*)ncs_patricia_tree_getnext(&module_cb.pid_list,
                                                                                
      (const uint8_t *)&pid))) {
 
diff --git a/osaf/libs/core/leap/sysf_ipc.c b/osaf/libs/core/leap/sysf_ipc.c
--- a/osaf/libs/core/leap/sysf_ipc.c
+++ b/osaf/libs/core/leap/sysf_ipc.c
@@ -451,8 +451,6 @@ static uint32_t ipc_enqueue_ind_processi
 \************************************************************************/
 static uint32_t ipc_dequeue_ind_processing(NCS_IPC *ncs_ipc, unsigned int 
active_queue)
 {
-       int inds_rmvd;
-
        ncs_ipc->no_of_msgs[active_queue]--;
 
        if (ncs_ipc->usr_counters[active_queue] != NULL)
@@ -461,7 +459,7 @@ static uint32_t ipc_dequeue_ind_processi
        ncs_ipc->msg_count--;
 
        if (ncs_ipc->msg_count == 0) {
-               inds_rmvd = m_NCS_SEL_OBJ_RMV_IND(&ncs_ipc->sel_obj, true, 
true);
+               int inds_rmvd = m_NCS_SEL_OBJ_RMV_IND(&ncs_ipc->sel_obj, true, 
true);
                if (inds_rmvd <= 0) {
                        if (inds_rmvd != -1) {
                                /* The object has not been destroyed and it has 
no indication
diff --git a/osaf/libs/core/leap/sysf_mem.c b/osaf/libs/core/leap/sysf_mem.c
--- a/osaf/libs/core/leap/sysf_mem.c
+++ b/osaf/libs/core/leap/sysf_mem.c
@@ -851,22 +851,20 @@ char *sysf_reserve_at_end_amap(USRBUF **
 
 void sysf_remove_from_end(USRBUF *pb, unsigned int size)
 {
-       USRBUF **pub;
        USRBUF *ub;
-       unsigned int buflen;
 
        if (pb != BNULL) {
                while ((size > 0) && (sysf_get_chain_len(pb))) {
 
                        /* Find the last one in the chain. */
-                       pub = (USRBUF **)NULL;
+                       USRBUF** pub = (USRBUF**) NULL;
                        ub = pb;
 
                        while (ub->link != (USRBUF *)0) {
                                pub = &ub->link, ub = *pub;
                        }
 
-                       buflen = ub->count;
+                       unsigned buflen = ub->count;
                        if (buflen > size) {
                                /* We can do the unappand without freeing any 
buffers. */
                                ub->count -= size;
@@ -941,10 +939,9 @@ char *sysf_reserve_at_start(USRBUF **ppb
 void sysf_remove_from_start(USRBUF **ppb, unsigned int size)
 {
        USRBUF *ub;
-       unsigned int buflen;
 
        while (((ub = *ppb) != (USRBUF *)0) && (size > 0)) {
-               buflen = ub->count;
+               unsigned buflen = ub->count;
 
                if (buflen > size) {
                        /* This is, like, simple. */
diff --git a/osaf/libs/core/leap/sysf_tmr.c b/osaf/libs/core/leap/sysf_tmr.c
--- a/osaf/libs/core/leap/sysf_tmr.c
+++ b/osaf/libs/core/leap/sysf_tmr.c
@@ -386,8 +386,6 @@ static uint32_t ncs_tmr_engine(struct ti
  ****************************************************************************/
 static uint32_t ncs_tmr_wait(void)
 {
-
-       unsigned rc;
        int inds_rmvd;
 
        uint64_t next_delay = 0;
@@ -408,7 +406,7 @@ static uint32_t ncs_tmr_wait(void)
                set.fd = m_GET_FD_FROM_SEL_OBJ(gl_tcb.sel_obj);
                set.events = POLLIN;
                osaf_timeval_to_timespec(&tv, &ts);
-               rc = osaf_ppoll(&set, 1, next_delay != 0 ? &ts : NULL, NULL);
+               unsigned rc = osaf_ppoll(&set, 1, next_delay != 0 ? &ts : NULL, 
NULL);
                m_NCS_LOCK(&gl_tcb.safe.enter_lock, NCS_LOCK_WRITE);
 
                if (rc == 1) {
@@ -542,7 +540,6 @@ bool sysfTmrCreate(void)
 bool sysfTmrDestroy(void)
 {
        SYSF_TMR *tmr;
-       SYSF_TMR *free_tmr;
        SYSF_TMR_PAT_NODE *tmp = NULL;
 
        /* There is only ever one timer per instance */
@@ -571,7 +568,7 @@ bool sysfTmrDestroy(void)
        m_NCS_LOCK(&gl_tcb.safe.enter_lock, NCS_LOCK_WRITE);
        tmr = &gl_tcb.safe.dmy_keep;
        while (tmr->keep != NULL) {
-               free_tmr = tmr->keep;
+               SYSF_TMR* free_tmr = tmr->keep;
                tmr->keep = tmr->keep->keep;
                m_NCS_MEM_FREE(free_tmr, NCS_MEM_REGION_PERSISTENT, 
NCS_SERVICE_ID_LEAP_TMR, 0);
        }
diff --git a/osaf/libs/core/leap/sysf_tsk.c b/osaf/libs/core/leap/sysf_tsk.c
--- a/osaf/libs/core/leap/sysf_tsk.c
+++ b/osaf/libs/core/leap/sysf_tsk.c
@@ -38,6 +38,7 @@
  ******************************************************************************
  */
 
+#include <string.h>
 #include <ncsgl_defs.h>
 #include "ncs_osprm.h"
 
@@ -48,6 +49,7 @@ ncs_task_create(NCS_OS_CB entry_pt,
                void *arg, const char *name, unsigned int priority, int policy, 
unsigned int stack_size_in_bytes, void **task_handle)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
        uint32_t rc;
 
        task.info.create.i_entry_point = entry_pt;
@@ -68,6 +70,7 @@ ncs_task_create(NCS_OS_CB entry_pt,
 uint32_t ncs_task_release(void *task_handle)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
 
        if (task_handle == NULL)
                return NCSCC_RC_SUCCESS;
@@ -92,6 +95,7 @@ uint32_t ncs_task_join(void *task_handle
 uint32_t ncs_task_detach(void *task_handle)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
 
        if (task_handle == NULL)
                return NCSCC_RC_SUCCESS;
@@ -104,6 +108,7 @@ uint32_t ncs_task_detach(void *task_hand
 uint32_t ncs_task_start(void *task_handle)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
 
        if (task_handle == NULL)
                return NCSCC_RC_SUCCESS;
@@ -116,6 +121,7 @@ uint32_t ncs_task_start(void *task_handl
 uint32_t ncs_task_stop(void *task_handle)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
 
        if (task_handle == NULL)
                return NCSCC_RC_SUCCESS;
@@ -128,6 +134,7 @@ uint32_t ncs_task_stop(void *task_handle
 uint32_t ncs_task_sleep(unsigned int delay_in_ms)
 {
        NCS_OS_TASK task;
+       memset(&task, 0, sizeof(task));
 
        task.info.sleep.i_delay_in_ms = delay_in_ms;
 
diff --git a/osaf/libs/core/leap/tests/sysf_ipc_test.cc 
b/osaf/libs/core/leap/tests/sysf_ipc_test.cc
--- a/osaf/libs/core/leap/tests/sysf_ipc_test.cc
+++ b/osaf/libs/core/leap/tests/sysf_ipc_test.cc
@@ -38,11 +38,10 @@ typedef struct message_ {
 
 bool mbox_clean(NCSCONTEXT arg, NCSCONTEXT msg) {
   Message *curr;
-  Message *temp;
 
   /* clean the entire mailbox */
   for (curr = (Message *)msg; curr;) {
-    temp = curr;
+    Message* temp = curr;
     curr = curr->next;
 
     delete temp;
@@ -68,20 +67,22 @@ class SysfIpcTest : public ::testing::Te
   // If the constructor and destructor are not enough for setting up
   // and cleaning up each test, you can define the following methods:
 
+  // cppcheck-suppress unusedFunction
   virtual void SetUp() {
     // Code here will be called immediately after the constructor (right
     // before each test).
-    int rc = ncs_leap_startup();
+    ncs_leap_startup();
     // see ticket #1629, return code should be ok
     //ASSERT_EQ(rc, NCSCC_RC_SUCCESS); 
 
-    rc = m_NCS_IPC_CREATE(&mbox);
+    int rc = m_NCS_IPC_CREATE(&mbox);
     ASSERT_EQ(rc, NCSCC_RC_SUCCESS);
 
     rc = m_NCS_IPC_ATTACH(&mbox);
     ASSERT_EQ(rc, NCSCC_RC_SUCCESS);
   }
 
+  // cppcheck-suppress unusedFunction
   virtual void TearDown() {
     // Code here will be called immediately after each test (right
     // before the destructor).
@@ -120,19 +121,16 @@ class SysfIpcTest : public ::testing::Te
 
   //
   static void MessageSender() {
-    Message *msg;
-    int prio;
     srand(time(NULL));
-    int rc = NCSCC_RC_SUCCESS;
 
     for (int i = 0; i < 60; ++i) {
-      msg = new Message;
+      Message* msg = new Message;
 
-      prio = (random() % 3) + 1;
+      int prio = (random() % 3) + 1;
       msg->prio = (NCS_IPC_PRIORITY) prio;
       msg->seq_no = i;
 
-      rc = m_NCS_IPC_SEND(&mbox, msg, msg->prio);
+      int rc = m_NCS_IPC_SEND(&mbox, msg, msg->prio);
       EXPECT_EQ(rc, NCSCC_RC_SUCCESS);
 
       no_of_msgs_sent++;
diff --git a/osaf/libs/core/leap/tests/sysf_tmr_test.cc 
b/osaf/libs/core/leap/tests/sysf_tmr_test.cc
--- a/osaf/libs/core/leap/tests/sysf_tmr_test.cc
+++ b/osaf/libs/core/leap/tests/sysf_tmr_test.cc
@@ -15,7 +15,9 @@ class SysfTmrTest : public ::testing::Te
  public:
  protected:
 
-  SysfTmrTest() : distribution_(1 * 60 * 60 * 100, 2 * 60 * 60 * 100 - 1) {
+  SysfTmrTest() :
+      distribution_(1 * 60 * 60 * 100, 2 * 60 * 60 * 100 - 1),
+      timers_{} {
     // Setup work can be done here for each test.
   }
 

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to