2024-04-23 00:02 ftp://ftp.de.debian.org/debian/pool/main/u/up-imapproxy/up-imapproxy_1.2.8~svn20171105.orig.tar.bz2 cppcheck-options: --library=posix --library=gnu --library=bsd --library=bsd --library=openssl --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j1 platform: Linux-5.15.0-105-generic-x86_64-with-glibc2.35 python: 3.10.12 client-version: 1.3.56 compiler: g++ (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 cppcheck: head 2.14.0 head-info: bd7136d (2024-04-22 21:34:48 +0200) count: 92 92 elapsed-time: 248.1 249.7 head-timing-info: old-timing-info: head results: squirrelmail.imap_proxy/src/becomenonroot.c:105:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_WARNING [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/becomenonroot.c:103:18: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] squirrelmail.imap_proxy/src/becomenonroot.c:125:15: portability: Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'. [prohibitedgetgrnamCalled] squirrelmail.imap_proxy/src/becomenonroot.c:98:20: style: Variable 'pwent' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/becomenonroot.c:99:19: style: Variable 'gp' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/config.c:181:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/config.c:233:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/config.c:309:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_WARNING [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/config.c:329:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEFAULT_SERVER_CONNECT_RETRIES [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/config.c:375:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SetFunction [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/config.c:516:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] squirrelmail.imap_proxy/src/config.c:525:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] squirrelmail.imap_proxy/src/config.c:179:17: style: Condition 'Size<1' is always false [knownConditionTrueFalse] squirrelmail.imap_proxy/src/config.c:174:29: note: Assignment 'Size=strlen(String)+1', assigned value is greater than 0 squirrelmail.imap_proxy/src/config.c:179:17: note: Condition 'Size<1' is always false squirrelmail.imap_proxy/src/config.c:181:2: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:235:2: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:309:5: warning: %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:519:6: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:529:6: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:572:6: warning: %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/config.c:167:35: style: Parameter 'String' can be declared as pointer to const. However it seems that 'SetStringValue' is a callback function, if 'String' is declared with const you might also need to cast function pointer(s). [constParameterCallback] squirrelmail.imap_proxy/src/config.c:458:5: note: You might need to cast the function pointer here squirrelmail.imap_proxy/src/config.c:167:35: note: Parameter 'String' can be declared as pointer to const squirrelmail.imap_proxy/src/config.c:220:36: style: Parameter 'StringValue' can be declared as pointer to const. However it seems that 'SetNumericValue' is a callback function, if 'StringValue' is declared with const you might also need to cast function pointer(s). [constParameterCallback] squirrelmail.imap_proxy/src/config.c:473:5: note: You might need to cast the function pointer here squirrelmail.imap_proxy/src/config.c:220:36: note: Parameter 'StringValue' can be declared as pointer to const squirrelmail.imap_proxy/src/hash.c:72:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/hash.c:72:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/hash.c:72:5: portability: %d in format string (no. 3) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/icc.c:116:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HASH_TABLE_SIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/icc.c:268:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/icc.c:284:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:311:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:341:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:539:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:1308:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:1685:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fd [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:1776:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/imapcommon.c:1007:2: portability: %d in format string (no. 2) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] squirrelmail.imap_proxy/src/imapcommon.c:1502:41: style: Parameter 'End' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/imapcommon.c:1577:36: style: Parameter 'ICD' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/imapcommon.c:1606:35: style: Parameter 'ICD' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/imapcommon.c:1768:11: style: Variable 'EndOfBuffer' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/logging.c:139:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NFACILITIES [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:285:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:793:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PGM [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:824:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:1009:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:1108:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:1308:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/main.c:1062:12: warning: Return value of function dup() is not used. [ignoredReturnValue] squirrelmail.imap_proxy/src/main.c:1063:12: warning: Return value of function dup() is not used. [ignoredReturnValue] squirrelmail.imap_proxy/src/main.c:1064:12: warning: Return value of function dup() is not used. [ignoredReturnValue] squirrelmail.imap_proxy/src/main.c:837:17: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] squirrelmail.imap_proxy/src/main.c:1121:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] squirrelmail.imap_proxy/src/main.c:1161:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] squirrelmail.imap_proxy/src/main.c:818:20: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/main.c:1101:11: style: Variable 'bracket' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/main.c:285:10: style: Unused variable: f_randfile [unusedVariable] squirrelmail.imap_proxy/src/pimpstat.c:164:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/pimpstat.c:141:25: style: Variable 'IMAPCount' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/pimpstat.c:143:11: style: Variable 'fn' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/request.c:215:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:303:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:362:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:432:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:486:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:587:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:620:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:654:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:694:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:975:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:1148:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:1608:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/request.c:1184:13: style: Condition 'pending' is always false [knownConditionTrueFalse] squirrelmail.imap_proxy/src/request.c:1172:12: note: Assignment 'pending=0', assigned value is 0 squirrelmail.imap_proxy/src/request.c:1184:13: note: Condition 'pending' is always false squirrelmail.imap_proxy/src/request.c:2198:9: style: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment] squirrelmail.imap_proxy/src/request.c:2153:6: note: rc is assigned squirrelmail.imap_proxy/src/request.c:2198:9: note: rc is overwritten squirrelmail.imap_proxy/src/request.c:212:47: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:300:54: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:359:48: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:429:48: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:483:46: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:483:57: style: Parameter 'Username' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:584:45: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:617:47: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:651:51: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:690:14: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:970:15: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/request.c:1602:11: style: Variable 'Command' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/request.c:1604:11: style: Variable 'AuthMech' can be declared as pointer to const [constVariablePointer] squirrelmail.imap_proxy/src/select.c:124:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/select.c:328:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/select.c:381:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SELECT_BUF_SIZE [valueFlowBailoutIncompleteVar] squirrelmail.imap_proxy/src/select.c:325:12: style: Parameter 'Tag' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/select.c:375:13: style: Parameter 'MailboxName' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/select.c:500:44: style: Parameter 'Command' can be declared as pointer to const [constParameterPointer] squirrelmail.imap_proxy/src/select.c:509:11: style: Variable 'SafeCommands' can be declared as const array [constVariable] squirrelmail.imap_proxy/src/threads.c:99:0: error: #error OpenSSL compiled without thread support [preprocessorErrorDirective] diff: DONE