2022-06-23 09:35 ftp://ftp.de.debian.org/debian/pool/main/libu/libuser/libuser_0.63~dfsg.orig.tar.xz cppcheck-options: --library=posix --library=gnu --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -D__GNUC__ --platform=unix64 -rp=temp -j1 platform: Linux-4.19.0-18-amd64-x86_64-with-debian-10.12 python: 3.7.3 client-version: 1.3.24 compiler: g++ (Debian 8.3.0-6) 8.3.0 cppcheck: head 2.8 head-info: f1212e6 (2022-06-22 21:22:04 +0200) count: 51 51 elapsed-time: 7.0 6.6 head-timing-info: Tokenizer::simplifyTokens1: 5.91574s (avg. 0.147893s - 40 result(s)) Tokenizer::simplifyTokens1::ValueFlow: 4.38438s (avg. 0.109609s - 40 result(s)) Tokenizer::simplifyTokens1::createSymbolDatabase: 0.807097s (avg. 0.0201774s - 40 result(s)) Tokenizer::createTokens: 0.248521s (avg. 0.00606149s - 41 result(s)) Tokenizer::simplifyTokens1::setValueType: 0.234531s (avg. 0.00586327s - 40 result(s)) Overall time: 12.3489s old-timing-info: Tokenizer::simplifyTokens1: 5.52487s (avg. 0.138122s - 40 result(s)) Tokenizer::simplifyTokens1::ValueFlow: 3.98116s (avg. 0.099529s - 40 result(s)) Tokenizer::simplifyTokens1::createSymbolDatabase: 0.818698s (avg. 0.0204675s - 40 result(s)) Tokenizer::createTokens: 0.24572s (avg. 0.00599317s - 41 result(s)) Tokenizer::simplifyTokens1::setValueType: 0.231443s (avg. 0.00578607s - 40 result(s)) Overall time: 11.5476s head results: libuser-0.63/apps/lchfn.c:82:9: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] libuser-0.63/apps/lchsh.c:71:9: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] libuser-0.63/apps/lgroupmod.c:98:12: style: Local variable 'val' shadows outer variable [shadowVariable] libuser-0.63/apps/lgroupmod.c:46:9: note: Shadowed declaration libuser-0.63/apps/lgroupmod.c:98:12: note: Shadow variable libuser-0.63/apps/lid.c:144:10: portability: Non reentrant function 'getgrgid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrgid_r'. [prohibitedgetgrgidCalled] libuser-0.63/apps/lid.c:158:10: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] libuser-0.63/apps/lpasswd.c:80:9: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] libuser-0.63/lib/config.c:48:0: error: #error Neither secure_getenv not __secure_getenv are available [preprocessorErrorDirective] libuser-0.63/lib/entity.c:286:30: style:inconclusive: Function 'lu_ent_revert' argument 1 names different: declaration 'ent' definition 'entity'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:266:35: note: Function 'lu_ent_revert' argument 1 names different: declaration 'ent' definition 'entity'. libuser-0.63/lib/entity.c:286:30: note: Function 'lu_ent_revert' argument 1 names different: declaration 'ent' definition 'entity'. libuser-0.63/lib/entity.c:298:30: style:inconclusive: Function 'lu_ent_commit' argument 1 names different: declaration 'ent' definition 'entity'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:267:35: note: Function 'lu_ent_commit' argument 1 names different: declaration 'ent' definition 'entity'. libuser-0.63/lib/entity.c:298:30: note: Function 'lu_ent_commit' argument 1 names different: declaration 'ent' definition 'entity'. libuser-0.63/lib/entity.c:832:44: style:inconclusive: Function 'lu_ent_set' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:296:49: note: Function 'lu_ent_set' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:832:44: note: Function 'lu_ent_set' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:850:52: style:inconclusive: Function 'lu_ent_set_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:276:57: note: Function 'lu_ent_set_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:850:52: note: Function 'lu_ent_set_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:870:51: style:inconclusive: Function 'lu_ent_set_string' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:298:56: note: Function 'lu_ent_set_string' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:870:51: note: Function 'lu_ent_set_string' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:889:59: style:inconclusive: Function 'lu_ent_set_string_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:278:64: note: Function 'lu_ent_set_string_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:889:59: note: Function 'lu_ent_set_string_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:909:47: style:inconclusive: Function 'lu_ent_set_id' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:299:52: note: Function 'lu_ent_set_id' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:909:47: note: Function 'lu_ent_set_id' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:927:55: style:inconclusive: Function 'lu_ent_set_id_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:280:60: note: Function 'lu_ent_set_id_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:927:55: note: Function 'lu_ent_set_id_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:946:49: style:inconclusive: Function 'lu_ent_set_long' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:300:54: note: Function 'lu_ent_set_long' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:946:49: note: Function 'lu_ent_set_long' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:963:57: style:inconclusive: Function 'lu_ent_set_long_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:281:62: note: Function 'lu_ent_set_long_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:963:57: note: Function 'lu_ent_set_long_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:982:44: style:inconclusive: Function 'lu_ent_add' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:301:49: note: Function 'lu_ent_add' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:982:44: note: Function 'lu_ent_add' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1000:52: style:inconclusive: Function 'lu_ent_add_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:283:57: note: Function 'lu_ent_add_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1000:52: note: Function 'lu_ent_add_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1018:46: style:inconclusive: Function 'lu_ent_clear' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:303:51: note: Function 'lu_ent_clear' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1018:46: note: Function 'lu_ent_clear' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1034:54: style:inconclusive: Function 'lu_ent_clear_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:285:59: note: Function 'lu_ent_clear_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1034:54: note: Function 'lu_ent_clear_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1080:44: style:inconclusive: Function 'lu_ent_del' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:305:49: note: Function 'lu_ent_del' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1080:44: note: Function 'lu_ent_del' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1099:52: style:inconclusive: Function 'lu_ent_del_current' argument 2 names different: declaration 'attr' definition 'attribute'. [funcArgNamesDifferent] libuser-0.63/lib/entity.h:287:57: note: Function 'lu_ent_del_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/entity.c:1099:52: note: Function 'lu_ent_del_current' argument 2 names different: declaration 'attr' definition 'attribute'. libuser-0.63/lib/fs.c:457:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libuser-0.63/lib/fs.c:705:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libuser-0.63/lib/misc.c:276:12: style:inconclusive: Function 'lu_set_prompter' argument 3 names different: declaration 'callback_data' definition 'prompter_data'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:94:41: note: Function 'lu_set_prompter' argument 3 names different: declaration 'callback_data' definition 'prompter_data'. libuser-0.63/lib/misc.c:276:12: note: Function 'lu_set_prompter' argument 3 names different: declaration 'callback_data' definition 'prompter_data'. libuser-0.63/lib/user.c:2074:4: warning: Return value of function getgrgid_r() is not used. [ignoredReturnValue] libuser-0.63/lib/user.c:100:22: style:inconclusive: Function 'lu_start' argument 1 names different: declaration 'authname' definition 'auth_name'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:87:41: note: Function 'lu_start' argument 1 names different: declaration 'authname' definition 'auth_name'. libuser-0.63/lib/user.c:100:22: note: Function 'lu_start' argument 1 names different: declaration 'authname' definition 'auth_name'. libuser-0.63/lib/user.c:102:36: style:inconclusive: Function 'lu_start' argument 6 names different: declaration 'callback_data' definition 'prompter_data'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:89:41: note: Function 'lu_start' argument 6 names different: declaration 'callback_data' definition 'prompter_data'. libuser-0.63/lib/user.c:102:36: note: Function 'lu_start' argument 6 names different: declaration 'callback_data' definition 'prompter_data'. libuser-0.63/lib/user.c:1563:15: style:inconclusive: Function 'lu_user_setpass' argument 3 names different: declaration 'newpass' definition 'password'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:150:37: note: Function 'lu_user_setpass' argument 3 names different: declaration 'newpass' definition 'password'. libuser-0.63/lib/user.c:1563:15: note: Function 'lu_user_setpass' argument 3 names different: declaration 'newpass' definition 'password'. libuser-0.63/lib/user.c:1563:34: style:inconclusive: Function 'lu_user_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:151:14: note: Function 'lu_user_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. libuser-0.63/lib/user.c:1563:34: note: Function 'lu_user_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. libuser-0.63/lib/user.c:1737:16: style:inconclusive: Function 'lu_group_setpass' argument 3 names different: declaration 'newpass' definition 'password'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:154:38: note: Function 'lu_group_setpass' argument 3 names different: declaration 'newpass' definition 'password'. libuser-0.63/lib/user.c:1737:16: note: Function 'lu_group_setpass' argument 3 names different: declaration 'newpass' definition 'password'. libuser-0.63/lib/user.c:1737:35: style:inconclusive: Function 'lu_group_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:155:15: note: Function 'lu_group_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. libuser-0.63/lib/user.c:1737:35: note: Function 'lu_group_setpass' argument 4 names different: declaration 'crypted' definition 'is_crypted'. libuser-0.63/lib/user.c:2362:36: style:inconclusive: Function 'lu_user_default' argument 1 names different: declaration 'ctx' definition 'context'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:103:45: note: Function 'lu_user_default' argument 1 names different: declaration 'ctx' definition 'context'. libuser-0.63/lib/user.c:2362:36: note: Function 'lu_user_default' argument 1 names different: declaration 'ctx' definition 'context'. libuser-0.63/lib/user.c:2381:37: style:inconclusive: Function 'lu_group_default' argument 1 names different: declaration 'ctx' definition 'context'. [funcArgNamesDifferent] libuser-0.63/lib/user.h:105:46: note: Function 'lu_group_default' argument 1 names different: declaration 'ctx' definition 'context'. libuser-0.63/lib/user.c:2381:37: note: Function 'lu_group_default' argument 1 names different: declaration 'ctx' definition 'context'. libuser-0.63/lib/user.c:390:31: style: Parameter 'context' can be declared as pointer to const [constParameter] libuser-0.63/lib/util.c:172:9: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] libuser-0.63/lib/util.c:666:8: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libuser-0.63/lib/util.c:419:48: style:inconclusive: Function 'lu_util_line_get_matching1' argument 2 names different: declaration 'firstpart' definition 'part'. [funcArgNamesDifferent] libuser-0.63/lib/user_private.h:343:54: note: Function 'lu_util_line_get_matching1' argument 2 names different: declaration 'firstpart' definition 'part'. libuser-0.63/lib/util.c:419:48: note: Function 'lu_util_line_get_matching1' argument 2 names different: declaration 'firstpart' definition 'part'. libuser-0.63/lib/util.c:427:48: style:inconclusive: Function 'lu_util_line_get_matching3' argument 2 names different: declaration 'thirdpart' definition 'part'. [funcArgNamesDifferent] libuser-0.63/lib/user_private.h:345:54: note: Function 'lu_util_line_get_matching3' argument 2 names different: declaration 'thirdpart' definition 'part'. libuser-0.63/lib/util.c:427:48: note: Function 'lu_util_line_get_matching3' argument 2 names different: declaration 'thirdpart' definition 'part'. libuser-0.63/modules/ldap.c:662:23: style: Local variable 'error' shadows outer argument [shadowArgument] libuser-0.63/modules/ldap.c:536:53: note: Shadowed declaration libuser-0.63/modules/ldap.c:662:23: note: Shadow variable libuser-0.63/modules/ldap.c:2431:40: error: Uninitialized variable: ctx [legacyUninitvar] libuser-0.63/python/admin.c:1545:15: portability: Non reentrant function 'getlogin' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getlogin_r'. [prohibitedgetloginCalled] libuser-0.63/python/ent.c:284:10: style: Local variable 'value' shadows outer argument [shadowArgument] libuser-0.63/python/ent.c:256:72: note: Shadowed declaration libuser-0.63/python/ent.c:284:10: note: Shadow variable libuser-0.63/python/misc.c:381:3: error: Found a exit path from function with non-void return type that has missing return statement [missingReturn] libuser-0.63/python/misc.c:416:3: error: Found a exit path from function with non-void return type that has missing return statement [missingReturn] libuser-0.63/samples/field.c:68:20: warning: Either the condition 'ret==NULL' is redundant or there is possible null pointer dereference: ret. [nullPointerRedundantCheck] libuser-0.63/samples/field.c:64:11: note: Assuming that condition 'ret==NULL' is not redundant libuser-0.63/samples/field.c:68:20: note: Null pointer dereference libuser-0.63/samples/homedir.c:55:20: style: Local variable 'error' shadows outer variable [shadowVariable] libuser-0.63/samples/homedir.c:30:19: note: Shadowed declaration libuser-0.63/samples/homedir.c:55:20: note: Shadow variable libuser-0.63/tests/wait_for_slapd_exit.c:64:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] libuser-0.63/tests/wait_for_slapd_start.c:64:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] libuser-0.63/lib/fs.c:416:6: error: Using argument access_options that points at uninitialized variable access_options [ctuuninitvar] libuser-0.63/lib/fs.c:911:22: note: Calling function lu_homedir_copy, 3rd argument is uninitialized libuser-0.63/lib/fs.c:560:8: note: Calling function lu_copy_dir_and_close, 7th argument is uninitialized libuser-0.63/lib/fs.c:416:6: note: Using argument access_options diff: head libuser-0.63/lib/user.c:390:31: style: Parameter 'context' can be declared as pointer to const [constParameter] 2.8 libuser-0.63/lib/user.c:390:31: style: Parameter 'context' can be declared with const [constParameter] DONE