2026-09-22 00:11 ftp://ftp.de.debian.org/debian/pool/main/w/whowatch/whowatch_1.8.6.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.12.107+deb13-amd64-x86_64-with-glibc2.41 python: 3.12.14 client-version: 1.4.0 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.22.0 head-info: f1c0820 (2026-09-21 13:01:57 +0200) count: 159 159 elapsed-time: 0.2 0.2 head-timing-info: old-timing-info: head results: whowatch-1.8.6/src/block.c:64:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/block.c:107:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/block.c:14:24: style:inconclusive: Function 'dolog' argument 1 names different: declaration '' definition 't'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:57:21: style:inconclusive: Function 'get_empty' argument 1 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:57:45: style:inconclusive: Function 'get_empty' argument 2 names different: declaration '' definition 'h'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:101:22: style:inconclusive: Function 'free_entry' argument 1 names different: declaration '' definition 'p'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:101:29: style:inconclusive: Function 'free_entry' argument 2 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:101:53: style:inconclusive: Function 'free_entry' argument 3 names different: declaration '' definition 'h'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/block.c:101:22: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/list.h:75:52: style: Parameter 'head' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/block.c:75:23: portability: 'tmp->_block_t' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] whowatch-1.8.6/src/block.c:108:47: portability: 'tmp->_block_t' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] whowatch-1.8.6/src/exti.c:127:28: style:inconclusive: Function 'exti_reg' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/exti.c:8:27: style: Parameter 'p' can be declared as pointer to const. However it seems that 'siglist' is a callback function, if 'p' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whowatch-1.8.6/src/exti.c:20:57: note: You might need to cast the function pointer here whowatch-1.8.6/src/exti.c:8:27: note: Parameter 'p' can be declared as pointer to const whowatch-1.8.6/src/owner.c:46:6: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] whowatch-1.8.6/src/owner.c:45:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/owner.c:43:28: note: Assuming allocation function fails whowatch-1.8.6/src/owner.c:43:6: note: Assignment 'p=(struct owner*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/owner.c:45:9: note: Null pointer dereference whowatch-1.8.6/src/owner.c:49:11: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/owner.c:43:28: note: Assuming allocation function fails whowatch-1.8.6/src/owner.c:43:6: note: Assignment 'p=(struct owner*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/owner.c:49:11: note: Null pointer dereference whowatch-1.8.6/src/owner.c:50:3: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/owner.c:43:28: note: Assuming allocation function fails whowatch-1.8.6/src/owner.c:43:6: note: Assignment 'p=(struct owner*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/owner.c:50:3: note: Null pointer dereference whowatch-1.8.6/src/owner.c:52:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/owner.c:43:28: note: Assuming allocation function fails whowatch-1.8.6/src/owner.c:43:6: note: Assignment 'p=(struct owner*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/owner.c:52:2: note: Null pointer dereference whowatch-1.8.6/src/owner.c:53:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/owner.c:43:28: note: Assuming allocation function fails whowatch-1.8.6/src/owner.c:43:6: note: Assignment 'p=(struct owner*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/owner.c:53:2: note: Null pointer dereference whowatch-1.8.6/src/owner.c:42:17: style: Variable 'u' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/owner.c:59:16: style: Variable 'p' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/plist.c:322:2: style: Obsolescent function 'bzero' called. It is recommended to use 'memset' instead. [prohibitedbzeroCalled] whowatch-1.8.6/src/plist.c:23:6: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:101:16: note: Calling function 'pstat_update', 1st argument 'z' value is 0 whowatch-1.8.6/src/plist.c:23:6: note: Null pointer dereference whowatch-1.8.6/src/plist.c:24:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:101:16: note: Calling function 'pstat_update', 1st argument 'z' value is 0 whowatch-1.8.6/src/plist.c:23:5: note: Assuming condition is false whowatch-1.8.6/src/plist.c:24:9: note: Null pointer dereference whowatch-1.8.6/src/plist.c:96:10: warning: If memory allocation fails, then there is a possible null pointer dereference: z [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:96:10: note: Null pointer dereference whowatch-1.8.6/src/plist.c:98:3: warning: If memory allocation fails, then there is a possible null pointer dereference: z [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:98:3: note: Null pointer dereference whowatch-1.8.6/src/plist.c:100:3: warning: If memory allocation fails, then there is a possible null pointer dereference: z [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:100:3: note: Null pointer dereference whowatch-1.8.6/src/plist.c:107:3: warning: If memory allocation fails, then there is a possible null pointer dereference: z [nullPointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:107:3: note: Null pointer dereference whowatch-1.8.6/src/plist.c:146:22: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] whowatch-1.8.6/src/plist.c:148:6: note: Assuming that condition '!p' is not redundant whowatch-1.8.6/src/plist.c:146:22: note: Null pointer dereference whowatch-1.8.6/src/plist.c:311:8: style: Redundant assignment of 'w->vy' to itself. [selfAssignment] whowatch-1.8.6/src/plist.c:394:29: style:inconclusive: Function 'ptree_reg' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/plist.c:20:42: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/plist.c:55:45: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/plist.c:138:28: style: Variable 'c' can be declared as const array [constVariable] whowatch-1.8.6/src/plist.c:139:8: style: Variable 's' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/plist.c:146:8: style: Variable 'tree' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/plist.c:176:18: style: Variable 'p' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/plist.c:177:8: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/plist.c:281:68: style: Parameter 'd' can be declared as pointer to const. However it seems that 'pmsgh' is a callback function, if 'd' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whowatch-1.8.6/src/plist.c:397:16: note: You might need to cast the function pointer here whowatch-1.8.6/src/plist.c:281:68: note: Parameter 'd' can be declared as pointer to const whowatch-1.8.6/src/plist.c:211:17: style: Variable 'n' is assigned a value that is never used. [unreadVariable] whowatch-1.8.6/src/pluglib.c:41:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_BOLD [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/pluglib.c:46:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_NORMAL [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/pluglib.c:29:4: style: Variable 'n' is assigned a value that is never used. [unreadVariable] whowatch-1.8.6/src/pluglib.c:56:4: style: Variable 'n' is assigned a value that is never used. [unreadVariable] whowatch-1.8.6/src/proc_plugin.c:30:2: error: #error Could not determine ticks per second [preprocessorErrorDirective] whowatch-1.8.6/src/procinfo.c:201:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/procinfo.c:97:18: style:inconclusive: Function 'get_ppid' argument 1 names different: declaration '' definition 'pid'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:193:23: style:inconclusive: Function 'get_cmdline' argument 1 names different: declaration '' definition 'pid'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:276:20: style:inconclusive: Function 'get_name' argument 1 names different: declaration '' definition 'pid'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:283:22: style:inconclusive: Function 'proc_pid_uid' argument 1 names different: declaration '' definition 'pid'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:293:28: style:inconclusive: Function 'proc_getloadavg' argument 1 names different: declaration '' definition 'd'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:293:37: style:inconclusive: Function 'proc_getloadavg' argument 2 names different: declaration '' definition 'l'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/procinfo.c:198:8: style: Variable 's' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/procinfo.c:312:24: style: Parameter 'tty' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/proctree.c:59:13: warning: If resource allocation fails, then there is a possible null pointer dereference: d [nullPointerOutOfResources] whowatch-1.8.6/src/proctree.c:179:11: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:179:11: note: Assignment 'd=opendir("/proc")', assigned value is 0 whowatch-1.8.6/src/proctree.c:182:25: note: Calling function 'get_pinfo', 2nd argument 'd' value is 0 whowatch-1.8.6/src/proctree.c:59:13: note: Null pointer dereference whowatch-1.8.6/src/proctree.c:122:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:122:9: note: Null pointer dereference whowatch-1.8.6/src/proctree.c:123:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:123:2: note: Null pointer dereference whowatch-1.8.6/src/proctree.c:124:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:124:2: note: Null pointer dereference whowatch-1.8.6/src/proctree.c:126:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:126:2: note: Null pointer dereference whowatch-1.8.6/src/proctree.c:180:6: style: A pointer can not be negative so it is either pointless or an error to check if it is. [pointerLessThanZero] whowatch-1.8.6/src/proctree.c:93:32: style:inconclusive: Function 'find_by_pid' argument 1 names different: declaration 'pid' definition 'n'. [funcArgNamesDifferent] whowatch-1.8.6/src/proctree.h:23:32: note: Function 'find_by_pid' argument 1 names different: declaration 'pid' definition 'n'. whowatch-1.8.6/src/proctree.c:93:32: note: Function 'find_by_pid' argument 1 names different: declaration 'pid' definition 'n'. whowatch-1.8.6/src/proctree.c:216:31: style:inconclusive: Function 'tree_start' argument 1 names different: declaration 'root' definition 'root_pid'. [funcArgNamesDifferent] whowatch-1.8.6/src/proctree.h:24:31: note: Function 'tree_start' argument 1 names different: declaration 'root' definition 'root_pid'. whowatch-1.8.6/src/proctree.c:216:31: note: Function 'tree_start' argument 1 names different: declaration 'root' definition 'root_pid'. whowatch-1.8.6/src/proctree.c:216:45: style:inconclusive: Function 'tree_start' argument 2 names different: declaration 'start' definition 'start_pid'. [funcArgNamesDifferent] whowatch-1.8.6/src/proctree.h:24:41: note: Function 'tree_start' argument 2 names different: declaration 'start' definition 'start_pid'. whowatch-1.8.6/src/proctree.c:216:45: note: Function 'tree_start' argument 2 names different: declaration 'start' definition 'start_pid'. whowatch-1.8.6/src/proctree.c:245:44: style:inconclusive: Function 'tree_string' argument 2 names different: declaration 'proc' definition 'p'. [funcArgNamesDifferent] whowatch-1.8.6/src/proctree.h:26:44: note: Function 'tree_string' argument 2 names different: declaration 'proc' definition 'p'. whowatch-1.8.6/src/proctree.c:245:44: note: Function 'tree_string' argument 2 names different: declaration 'proc' definition 'p'. whowatch-1.8.6/src/proctree.c:57:8: style: Local variable 'buf' shadows outer variable [shadowVariable] whowatch-1.8.6/src/proctree.c:243:13: note: Shadowed variable whowatch-1.8.6/src/proctree.c:57:8: note: Shadow local variable whowatch-1.8.6/src/proctree.c:245:23: style: Argument 'root' shadows outer variable [shadowVariable] whowatch-1.8.6/src/proctree.c:214:30: note: Shadowed variable whowatch-1.8.6/src/proctree.c:245:23: note: Shadow argument whowatch-1.8.6/src/proctree.c:53:17: style: Variable 'e' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/proctree.c:57:17: style: Variable 'p' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/proctree.c:247:17: style: Variable 'q' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/screen.c:102:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_NORMAL [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/screen.c:112:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_REVERSE [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/screen.c:395:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ICANON [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/screen.c:403:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/screen.c:33:31: style:inconclusive: Function 'scr_wresize' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:33:38: style:inconclusive: Function 'scr_wresize' argument 2 names different: declaration '' definition 'y'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:33:45: style:inconclusive: Function 'scr_wresize' argument 3 names different: declaration '' definition 'x'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:89:22: style:inconclusive: Function 'scr_newwin' argument 1 names different: declaration '' definition 'x'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:89:29: style:inconclusive: Function 'scr_newwin' argument 2 names different: declaration '' definition 'y'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:89:36: style:inconclusive: Function 'scr_newwin' argument 3 names different: declaration '' definition 'xsize'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:89:47: style:inconclusive: Function 'scr_newwin' argument 4 names different: declaration '' definition 'ysize'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:137:36: style:inconclusive: Function 'scr_output_start' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:145:34: style:inconclusive: Function 'scr_output_end' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:159:32: style:inconclusive: Function 'scr_attr_set' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:159:39: style:inconclusive: Function 'scr_attr_set' argument 2 names different: declaration '' definition 'n'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:164:31: style:inconclusive: Function 'scr_clr_set' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:164:38: style:inconclusive: Function 'scr_clr_set' argument 2 names different: declaration '' definition 'n'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:179:31: style:inconclusive: Function 'scr_maddstr' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:179:40: style:inconclusive: Function 'scr_maddstr' argument 2 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:179:47: style:inconclusive: Function 'scr_maddstr' argument 3 names different: declaration '' definition 'y'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:179:54: style:inconclusive: Function 'scr_maddstr' argument 4 names different: declaration '' definition 'x'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:179:61: style:inconclusive: Function 'scr_maddstr' argument 5 names different: declaration '' definition 'n'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:185:30: style:inconclusive: Function 'scr_addstr' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:185:39: style:inconclusive: Function 'scr_addstr' argument 2 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:185:46: style:inconclusive: Function 'scr_addstr' argument 3 names different: declaration '' definition 'n'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:194:33: style:inconclusive: Function 'scr_linserted' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:194:40: style:inconclusive: Function 'scr_linserted' argument 2 names different: declaration '' definition 'line'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:208:32: style:inconclusive: Function 'scr_ldeleted' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:208:39: style:inconclusive: Function 'scr_ldeleted' argument 2 names different: declaration '' definition 'l'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:233:30: style:inconclusive: Function 'scr_addfstr' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:233:39: style:inconclusive: Function 'scr_addfstr' argument 2 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:233:46: style:inconclusive: Function 'scr_addfstr' argument 3 names different: declaration '' definition 'y'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:233:53: style:inconclusive: Function 'scr_addfstr' argument 4 names different: declaration '' definition 'x'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:251:30: style:inconclusive: Function 'scr_werase' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:256:31: style:inconclusive: Function 'scr_delline' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:256:38: style:inconclusive: Function 'scr_delline' argument 2 names different: declaration '' definition 'l'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:370:27: style:inconclusive: Function 'scr_keyh' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:370:34: style:inconclusive: Function 'scr_keyh' argument 2 names different: declaration '' definition 'key'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/screen.c:262:40: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/ulist.c:43:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:58:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UT_NAMESIZE [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:85:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_BOLD [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:99:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:115:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:139:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:167:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:202:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:256:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/ulist.c:116:18: warning: Either the condition '(fd=open("/var/run/utmp",O_RDONLY))==-1' is redundant or read() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] whowatch-1.8.6/src/ulist.c:115:39: note: Assuming that condition '(fd=open("/var/run/utmp",O_RDONLY))==-1' is not redundant whowatch-1.8.6/src/ulist.c:116:18: note: Invalid argument whowatch-1.8.6/src/ulist.c:350:29: style:inconclusive: Function 'ulist_reg' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/ulist.c:23:27: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/ulist.c:51:40: style: Parameter 'entry' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/ulist.c:113:17: style: Variable 'u' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/user_plugin.c:21:7: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] whowatch-1.8.6/src/user_plugin.c:14:18: style:inconclusive: Function 'euser' argument 1 names different: declaration '' definition 'p'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/user_plugin.c:14:18: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/wdgts.c:13:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable REG_NOTEOL [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/wdgts.c:22:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable REG_EXTENDED [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/wdgts.c:74:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_CHARTEXT [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/wdgts.c:170:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_BOLD [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/wdgts.c:30:2: portability: Returning an address value in a function with integer return type is not portable. [CastAddressToIntegerAtReturn] whowatch-1.8.6/src/wdgts.c:168:10: portability: Casting non-zero decimal integer literal to pointer. [intToPointerCast] whowatch-1.8.6/src/wdgts.c:174:9: portability: Casting non-zero decimal integer literal to pointer. [intToPointerCast] whowatch-1.8.6/src/wdgts.c:11:34: style:inconclusive: Function 'reg_match' argument 1 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/wdgts.c:52:27: style:inconclusive: Function 'hlp_reg' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/wdgts.c:16:44: style: Parameter 's' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/wdgts.c:19:8: style: Variable 'ret' can be declared as pointer to const [constVariablePointer] whowatch-1.8.6/src/whowatch.c:35:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wdgts_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:36:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wdgts_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:43:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wdgts_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:62:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msg_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:82:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wdgts_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:121:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:182:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCGWINSZ [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:203:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable wdgts_l [valueFlowBailoutIncompleteVar] whowatch-1.8.6/src/whowatch.c:55:30: style:inconclusive: Function 'wmsg_send' argument 1 names different: declaration '' definition 'sndr'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:55:40: style:inconclusive: Function 'wmsg_send' argument 2 names different: declaration '' definition 'type'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:55:52: style:inconclusive: Function 'wmsg_send' argument 3 names different: declaration '' definition 'data'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:91:31: style:inconclusive: Function 'mwin_msg_on' argument 1 names different: declaration '' definition 'w'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:107:19: style:inconclusive: Function 'err_exit' argument 1 names different: declaration '' definition 'scr'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:107:30: style:inconclusive: Function 'err_exit' argument 2 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:112:21: style:inconclusive: Function 'prg_exit' argument 1 names different: declaration '' definition 's'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:146:22: style:inconclusive: Function 'send_signal' argument 1 names different: declaration '' definition 'sig'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:146:33: style:inconclusive: Function 'send_signal' argument 2 names different: declaration '' definition 'pid'. [funcArgNamesDifferentUnnamed] whowatch-1.8.6/src/whowatch.c:181:17: style: Local variable 'win' shadows outer variable [shadowVariable] whowatch-1.8.6/src/whowatch.c:8:19: note: Shadowed variable whowatch-1.8.6/src/whowatch.c:181:17: note: Shadow local variable whowatch-1.8.6/src/whowatch.c:107:30: style: Parameter 's' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/whowatch.c:112:21: style: Parameter 's' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/whowatch.c:273:96: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] whowatch-1.8.6/src/plist.c:23:6: warning: If memory allocation fails, then there is a possible null pointer dereference: p [ctunullpointerOutOfMemory] whowatch-1.8.6/src/plist.c:92:13: note: Assuming allocation function fails whowatch-1.8.6/src/plist.c:92:13: note: Assignment 'z=malloc(sizeof(*z))', assigned value is 0 whowatch-1.8.6/src/plist.c:101:15: note: Calling function pstat_update, 1st argument is null whowatch-1.8.6/src/plist.c:23:6: note: Dereferencing argument p that is null diff: head whowatch-1.8.6/src/proctree.c:122:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:122:9: note: Null pointer dereference 2.22.0 whowatch-1.8.6/src/proctree.c:122:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:122:9: note: Null pointer dereference head whowatch-1.8.6/src/proctree.c:123:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:123:2: note: Null pointer dereference 2.22.0 whowatch-1.8.6/src/proctree.c:123:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:123:2: note: Null pointer dereference head whowatch-1.8.6/src/proctree.c:124:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:124:2: note: Null pointer dereference 2.22.0 whowatch-1.8.6/src/proctree.c:124:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:124:2: note: Null pointer dereference head whowatch-1.8.6/src/proctree.c:126:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:120:5: note: Assuming condition is true whowatch-1.8.6/src/proctree.c:126:2: note: Null pointer dereference 2.22.0 whowatch-1.8.6/src/proctree.c:126:2: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] whowatch-1.8.6/src/proctree.c:121:30: note: Assuming allocation function fails whowatch-1.8.6/src/proctree.c:121:7: note: Assignment 'p=(struct proc_t*)malloc(sizeof(*p))', assigned value is 0 whowatch-1.8.6/src/proctree.c:126:2: note: Null pointer dereference DONE