2026-05-05 14:33 ftp://ftp.de.debian.org/debian/pool/main/u/userinfo/userinfo_2.5.orig.tar.bz2 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.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: 6278f6b (2026-05-05 15:01:04 +0200) count: 66 68 elapsed-time: 0.8 0.6 head-timing-info: old-timing-info: head results: userinfo-2.5/contrib/kill.c:137:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] userinfo-2.5/contrib/kill.c:192:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/contrib/kill.c:96:5: error: Common realloc mistake: 'do_sigs' nulled but not freed upon failure [memleakOnRealloc] userinfo-2.5/contrib/kill.c:146:5: error: Common realloc mistake: 'do_sigs' nulled but not freed upon failure [memleakOnRealloc] userinfo-2.5/contrib/kill.c:193:11: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] userinfo-2.5/contrib/kill.c:194:10: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/contrib/kill.c:205:12: style: Variable 's' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/err.c:45:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/err.c:48:11: style: Variable '__progname' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/login.c:431:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:500:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _PATH_UTMP [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:575:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:607:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:688:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:850:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/login.c:341:11: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/login.c:427:55: style: Parameter 'tf' can be declared as pointer to const [constParameterPointer] userinfo-2.5/src/modules/login.c:583:7: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/src/modules/login.c:616:7: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/src/modules/login.c:679:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/login.c:690:7: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/src/modules/mail.c:103:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/mail.c:134:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/mail.c:218:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/mail.c:285:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/mail.c:344:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optopt [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/mail.c:95:26: error: Dereferencing 'aliasbuf' after it is deallocated / released [deallocuse] userinfo-2.5/src/modules/mail.c:104:11: style: Variable 'orm' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/mail.c:139:10: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/src/modules/mail.c:167:15: style: Variable 'name' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/mail.c:221:10: style: Variable 'm' can be declared as const array [constVariable] userinfo-2.5/src/modules/mail.c:257:38: style: Parameter 'st' can be declared as pointer to const [constParameterPointer] userinfo-2.5/src/modules/mail.c:280:33: style: Parameter 'tf' can be declared as pointer to const [constParameterPointer] userinfo-2.5/src/modules/passwd.c:202:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/passwd.c:368:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISUID [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/passwd.c:404:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] userinfo-2.5/src/modules/passwd.c:207:16: portability: Non reentrant function 'getgrgid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrgid_r'. [prohibitedgetgrgidCalled] userinfo-2.5/src/modules/passwd.c:142:11: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/passwd.c:200:19: style: Variable 'grp' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/passwd.c:274:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/modules/passwd.c:215:13: style: Variable 'primary' is assigned a value that is never used. [unreadVariable] userinfo-2.5/src/ui.c:157:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEFAULT_TIMEFORMAT [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:176:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:260:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable modules [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:318:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:393:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optind [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:480:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:534:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:556:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:667:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] userinfo-2.5/src/ui.c:675:5: warning:inconclusive: The buffer 'tf' may not be null-terminated after the call to strncpy(). [terminateStrncpy] userinfo-2.5/src/ui.c:747:3: warning:inconclusive: The buffer 'tf' may not be null-terminated after the call to strncpy(). [terminateStrncpy] userinfo-2.5/src/ui.c:71:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] userinfo-2.5/src/ui.c:320:12: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] userinfo-2.5/src/ui.c:337:12: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] userinfo-2.5/src/ui.c:538:15: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] userinfo-2.5/src/ui.c:211:5: warning: If memory allocation fails, then there is a possible null pointer dereference: mod [nullPointerOutOfMemory] userinfo-2.5/src/ui.c:208:17: note: Assuming allocation function fails userinfo-2.5/src/ui.c:208:17: note: Assignment 'mod=calloc(1,sizeof(struct module_s))', assigned value is 0 userinfo-2.5/src/ui.c:211:5: note: Null pointer dereference userinfo-2.5/src/ui.c:212:13: warning: If memory allocation fails, then there is a possible null pointer dereference: mod [nullPointerOutOfMemory] userinfo-2.5/src/ui.c:208:17: note: Assuming allocation function fails userinfo-2.5/src/ui.c:208:17: note: Assignment 'mod=calloc(1,sizeof(struct module_s))', assigned value is 0 userinfo-2.5/src/ui.c:212:13: note: Null pointer dereference userinfo-2.5/src/ui.c:213:5: warning: If memory allocation fails, then there is a possible null pointer dereference: mod [nullPointerOutOfMemory] userinfo-2.5/src/ui.c:208:17: note: Assuming allocation function fails userinfo-2.5/src/ui.c:208:17: note: Assignment 'mod=calloc(1,sizeof(struct module_s))', assigned value is 0 userinfo-2.5/src/ui.c:213:5: note: Null pointer dereference userinfo-2.5/src/ui.c:215:23: warning: If memory allocation fails, then there is a possible null pointer dereference: mod [nullPointerOutOfMemory] userinfo-2.5/src/ui.c:208:17: note: Assuming allocation function fails userinfo-2.5/src/ui.c:208:17: note: Assignment 'mod=calloc(1,sizeof(struct module_s))', assigned value is 0 userinfo-2.5/src/ui.c:215:23: note: Null pointer dereference userinfo-2.5/src/err.c:48:11: style: Local variable '__progname' shadows outer variable [shadowVariable] userinfo-2.5/src/ui.h:96:14: note: Shadowed declaration userinfo-2.5/src/err.c:48:11: note: Shadow variable userinfo-2.5/src/ui.c:69:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/ui.c:172:30: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] userinfo-2.5/src/ui.c:178:36: style: Variable 'last' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/ui.c:396:11: style: Variable 'optstring' can be declared as pointer to const [constVariablePointer] userinfo-2.5/src/ui.c:533:20: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] diff: 2.20.0 userinfo-2.5/contrib/kill.c:155:8: error: Common realloc mistake: 'do_sigs' nulled but not freed upon failure [memleakOnRealloc] 2.20.0 userinfo-2.5/contrib/kill.c:98:5: error: Common realloc mistake: 'do_sigs' nulled but not freed upon failure [memleakOnRealloc] DONE