2025-06-29 18:21 ftp://ftp.de.debian.org/debian/pool/main/o/otpw/otpw_1.5.orig.tar.gz cppcheck-options: --library=posix --library=gnu --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 -j6 platform: Linux-6.1.0-37-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.67 compiler: g++ (Debian 12.2.0-14+deb12u1) 12.2.0 cppcheck: head 2.17.0 head-info: ca83f56 (2025-06-29 00:31:22 +0200) count: 35 35 elapsed-time: 2.2 2.4 head-timing-info: old-timing-info: head results: otpw-1.5/demologin.c:46:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:50:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_SERVICE [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:77:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_CONV [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:105:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:131:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_PROMPT_ECHO_OFF [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:182:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_TEXT_INFO [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:224:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:327:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_SUCCESS [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:344:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:375:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAM_SUCCESS [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:69:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _SC_GETPW_R_SIZE_MAX [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:82:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOMEM [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:100:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOMEM [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:126:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINVAL [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:156:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:246:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:507:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] otpw-1.5/demologin.c:127:12: portability: Non reentrant function 'getspnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getspnam_r'. [prohibitedgetspnamCalled] otpw-1.5/demologin.c:132:25: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] otpw-1.5/demologin.c:36:16: style: Variable 'spwd' can be declared as pointer to const [constVariablePointer] otpw-1.5/otpw.c:246:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] otpw-1.5/otpw.c:507:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] otpw-1.5/otpw-gen.c:283:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] otpw-1.5/otpw-gen.c:595:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINE_MAX [valueFlowBailoutIncompleteVar] otpw-1.5/pam_otpw.c:118:51: style: Parameter 'challenge' can be declared as pointer to const [constParameterPointer] otpw-1.5/md.c:166:7: style: Statements following noreturn function 'abort()' will never be executed. [unreachableCode] otpw-1.5/md.c:126:17: style: Variable 'md_result' can be declared as const array [constVariable] otpw-1.5/md.c:52:9: portability: 'src' is of type 'const void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] otpw-1.5/md.c:64:9: portability: 'src' is of type 'const void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] otpw-1.5/otpw.c:231:56: style: Parameter 'user' can be declared as pointer to const [constParameterPointer] otpw-1.5/otpw.c:491:45: style: Parameter 'password' can be declared as pointer to const [constParameterPointer] otpw-1.5/rmd160.c:36:43: style: Parameter 'X' can be declared as pointer to const [constParameterPointer] otpw-1.5/rmd160.c:236:40: style: Parameter 'strptr' can be declared as pointer to const [constParameterPointer] otpw-1.5/otpw-gen.c:962:58: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] otpw-1.5/otpw-gen.c:371:25: portability: 's' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] diff: DONE