2025-05-09 22:42 ftp://ftp.de.debian.org/debian/pool/main/c/courier/courier_1.4.1.orig.tar.bz2 cppcheck-options: --library=posix --library=gnu --library=bsd --library=openssl --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-59-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: b3c7f00 (2025-05-09 17:59:20 +0200) count: 3122 3108 elapsed-time: 66.9 65.8 head-timing-info: old-timing-info: head results: courier-1.4.1/afx/afxpipe.C:39:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/afx/afxpipe.C:55:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable badbit [valueFlowBailoutIncompleteVar] courier-1.4.1/afx/afxpipe.C:73:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable badbit [valueFlowBailoutIncompleteVar] courier-1.4.1/afx/afxpipe.C:95:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable badbit [valueFlowBailoutIncompleteVar] courier-1.4.1/afx/afxpipe.C:11:19: warning: Member variable 'afxpipestreambuf::buffer' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/afx/afx.h:38:6: style:inconclusive: Either there is a missing 'override', or the member function 'afxpipestreambuf::handle' can be const. [functionConst] courier-1.4.1/afx/afx.h:33:2: style: Class 'afxpipestreambuf' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/afx/afx.h:49:2: style: Class 'afxipipestream' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/afx/afx.h:63:2: style: Class 'afxopipestream' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/afx/afx.h:76:2: style: Class 'afxiopipestream' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/afx/afxpipe.C:66:8: style: Variable 'e' can be declared as pointer to const [constVariablePointer] courier-1.4.1/afx/testafxpipe.C:21:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascombine.C:50:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascombine.C:102:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascombine.C:161:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascombine.C:165:14: style: Condition 'dumpdb(tempdb)' is always false [knownConditionTrueFalse] courier-1.4.1/courier/aliascombine.C:165:14: note: Calling function 'dumpdb' returns 0 courier-1.4.1/courier/aliascombine.C:165:14: note: Condition 'dumpdb(tempdb)' is always false courier-1.4.1/courier/aliascombine.C:27:46: performance: Function parameter 'aliasname' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliascreate.C:337:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:377:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:389:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:396:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:403:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:425:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliascreate.C:64:15: style: The scope of the variable 'sp' can be reduced. [variableScope] courier-1.4.1/courier/aliascreate.C:229:53: performance: Function parameter 'aliasname' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliascreate.C:49:49: style: Parameter 'addrlist' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/aliasexp.C:58:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_err_func [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:131:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable hex [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:185:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:244:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:363:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:382:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/aliasexp.C:349:7: style: Condition '!cp' is always false [knownConditionTrueFalse] courier-1.4.1/courier/aliasexp.C:61:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/aliasexp.C:68:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/aliasexp.C:76:22: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/aliasexp.C:79:18: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/aliasexp.C:183:6: style: The scope of the variable 'islocal' can be reduced. [variableScope] courier-1.4.1/courier/aliasexp.C:283:25: style: Local variable 'b' shadows outer variable [shadowVariable] courier-1.4.1/courier/aliasexp.C:217:24: note: Shadowed declaration courier-1.4.1/courier/aliasexp.C:283:25: note: Shadow variable courier-1.4.1/courier/aliasexp.C:283:41: style: Local variable 'e' shadows outer variable [shadowVariable] courier-1.4.1/courier/aliasexp.C:220:24: note: Shadowed declaration courier-1.4.1/courier/aliasexp.C:283:41: note: Shadow variable courier-1.4.1/courier/aliasexp.C:117:37: performance: Function parameter 'aliasname' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliasexp.C:117:60: performance: Function parameter 'cmd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliasexp.C:169:32: performance: Function parameter 'alias' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliasexp.C:294:35: performance: Function parameter 'line' should be passed by const reference. [passedByValue] courier-1.4.1/courier/aliasexp.C:295:40: style: Parameter 'filename' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/aliasexp.C:222:26: warning: Possible dereference of an invalid iterator: e [derefInvalidIterator] courier-1.4.1/courier/aliasexp.C:220:34: note: Assignment 'e=line.end()', assigned value is end=0 courier-1.4.1/courier/aliasexp.C:222:26: note: Dereference of an invalid iterator courier-1.4.1/courier/aliasexp.C:342:27: warning: Possible dereference of an invalid iterator: e [derefInvalidIterator] courier-1.4.1/courier/aliasexp.C:340:18: note: Assignment 'e=next_line.end()', assigned value is end=0 courier-1.4.1/courier/aliasexp.C:342:27: note: Dereference of an invalid iterator courier-1.4.1/courier/aliaslookup.C:16:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/bofh.c:51:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/bofh.c:99:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:122:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:132:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:140:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:173:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:193:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:341:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/bofh.c:128:11: style: Checking if unsigned expression 'n' is less than zero. [unsignedLessThanZero] courier-1.4.1/courier/bofh.c:92:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/bofh.c:50:20: note: Shadowed declaration courier-1.4.1/courier/bofh.c:92:9: note: Shadow variable courier-1.4.1/courier/bofh.c:183:9: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/courier/bofh.c:170:41: note: Shadowed declaration courier-1.4.1/courier/bofh.c:183:9: note: Shadow variable courier-1.4.1/courier/bofh.c:201:11: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/courier/bofh.c:170:41: note: Shadowed declaration courier-1.4.1/courier/bofh.c:201:11: note: Shadow variable courier-1.4.1/courier/bofh.c:122:10: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/bofh.c:287:8: style: Variable 'pp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cancelmsg.c:49:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cddelinfo.C:8:10: warning: Member variable 'delinfo::delid' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:49:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_transport_first [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cddrvinfo.C:310:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fd [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cddrvinfo.C:85:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cddrvinfo.C:88:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cddrvinfo.C:93:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cddrvinfo.C:98:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cddrvinfo.C:103:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cdpendelinfo.h:31:5: warning:inconclusive: Member variable 'pendelinfo::pos' is not assigned in the copy constructor. Should it be copied? [missingMemberCopy] courier-1.4.1/courier/cdpendelinfo.h:31:5: warning: Member variable 'pendelinfo::drvp' is not initialized in the copy constructor. [uninitMemberVar] courier-1.4.1/courier/cdpendelinfo.h:31:5: warning:inconclusive: Member variable 'pendelinfo::hostname' is not assigned in the copy constructor. Should it be copied? [missingMemberCopy] courier-1.4.1/courier/cdpendelinfo.h:31:5: warning:inconclusive: Member variable 'pendelinfo::receipient_list' is not assigned in the copy constructor. Should it be copied? [missingMemberCopy] courier-1.4.1/courier/cdpendelinfo.h:31:5: warning: Member variable 'pendelinfo::hostp' is not initialized in the copy constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::module' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::maxhost' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::maxrcpt' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::delpfreefirst' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::hdlvrpfree' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::hdlvrpfirst' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::hdlvrplast' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::module_pid' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:34:10: warning: Member variable 'drvinfo::module_to' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cddrvinfo.C:56:16: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cddrvinfo.C:106:11: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cddrvinfo.C:116:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cddrvinfo.C:200:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cddrvinfo.C:82:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cddrvinfo.C:45:22: note: Shadowed declaration courier-1.4.1/courier/cddrvinfo.C:82:9: note: Shadow variable courier-1.4.1/courier/cddrvinfo.C:200:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cddrvinfo.C:45:22: note: Shadowed declaration courier-1.4.1/courier/cddrvinfo.C:200:10: note: Shadow variable courier-1.4.1/courier/cdfilters.C:57:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERSOCKETDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdfilters.C:122:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdfilters.C:138:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_un [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdfilters.C:87:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cdfilters.C:140:9: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdfilters.C:151:25: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdfilters.C:184:19: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdfilters.C:83:6: style: The scope of the variable 'rc' can be reduced. [variableScope] courier-1.4.1/courier/cdfilters.C:115:16: performance: Function parameter 'sockname' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdfilters.C:81:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cdmsgq.C:142:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq.C:374:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGQDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq.C:586:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq.C:85:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cdmsgq.C:90:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/cdmsgq.C:152:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cdmsgq.C:165:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cdmsgq.C:280:5: style: Obsolescent function 'utime' called. It is recommended to use 'utimensat' instead. [prohibitedutimeCalled] courier-1.4.1/courier/cdmsgq.C:383:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cdmsgq.C:456:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::prevhash' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::msgnum' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::nextdel' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::nextsenddel' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::nksize' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:62:7: warning: Member variable 'msgq::rcptcount' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdmsgq.C:152:21: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: tmpdir [nullPointerOutOfResources] courier-1.4.1/courier/cdmsgq.C:142:21: note: Assuming allocation function fails courier-1.4.1/courier/cdmsgq.C:142:21: note: Assignment 'tmpdir=opendir(TMPDIR)', assigned value is 0 courier-1.4.1/courier/cdmsgq.C:152:21: note: Null pointer dereference courier-1.4.1/courier/cdmsgq.C:165:22: warning: If resource allocation fails, then there is a possible null pointer dereference: subde [nullPointerOutOfResources] courier-1.4.1/courier/cdmsgq.C:163:21: note: Assuming allocation function fails courier-1.4.1/courier/cdmsgq.C:163:21: note: Assignment 'subde=opendir(subdir.c_str())', assigned value is 0 courier-1.4.1/courier/cdmsgq.C:165:22: note: Null pointer dereference courier-1.4.1/courier/cdmsgq.C:383:22: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: tmpdir [nullPointerOutOfResources] courier-1.4.1/courier/cdmsgq.C:374:22: note: Assuming allocation function fails courier-1.4.1/courier/cdmsgq.C:374:22: note: Assignment 'tmpdir=opendir(MSGQDIR)', assigned value is 0 courier-1.4.1/courier/cdmsgq.C:383:22: note: Null pointer dereference courier-1.4.1/courier/cdmsgq.C:456:21: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: tmpdir [nullPointerOutOfResources] courier-1.4.1/courier/cdmsgq.C:450:21: note: Assuming allocation function fails courier-1.4.1/courier/cdmsgq.C:450:21: note: Assignment 'tmpdir=opendir(s.c_str())', assigned value is 0 courier-1.4.1/courier/cdmsgq.C:456:21: note: Null pointer dereference courier-1.4.1/courier/cdmsgq.C:103:24: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq.C:793:15: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq.C:797:19: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq.C:798:19: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq.C:376:15: style: The scope of the variable 's' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq.C:490:6: style: The scope of the variable 'rc' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq.C:602:8: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cdmsgq.C:575:14: note: Shadowed declaration courier-1.4.1/courier/cdmsgq.C:602:8: note: Shadow variable courier-1.4.1/courier/cdmsgq.C:798:9: style: Local variable 'errmsg' shadows outer variable [shadowVariable] courier-1.4.1/courier/cdmsgq.C:719:14: note: Shadowed declaration courier-1.4.1/courier/cdmsgq.C:798:9: note: Shadow variable courier-1.4.1/courier/cdmsgq.C:429:39: performance: Function parameter 'a' should be passed by const reference. However it seems that 'sort_by_qtime' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cdmsgq.C:493:58: note: Function pointer used here. courier-1.4.1/courier/cdmsgq.C:429:39: note: Function parameter 'a' should be passed by const reference. However it seems that 'sort_by_qtime' is a callback function. courier-1.4.1/courier/cdmsgq.C:429:54: performance: Function parameter 'b' should be passed by const reference. However it seems that 'sort_by_qtime' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cdmsgq.C:493:58: note: Function pointer used here. courier-1.4.1/courier/cdmsgq.C:429:54: note: Function parameter 'b' should be passed by const reference. However it seems that 'sort_by_qtime' is a callback function. courier-1.4.1/courier/cdmsgq.C:448:34: performance: Function parameter 's' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdmsgq.C:146:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cdmsgq2.C:76:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_OUTPUT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq2.C:41:4: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq2.C:48:30: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq2.C:51:14: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq2.C:77:13: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cdmsgq3.C:70:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq3.C:387:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELCOMPLETE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq3.C:714:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_MSGID [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cdmsgq3.C:641:19: performance:inconclusive: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq.h:98:14: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:641:19: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:655:19: performance:inconclusive: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq.h:99:14: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:655:19: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:77:16: style: The scope of the variable 'msg' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq3.C:388:14: style: The scope of the variable 't' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq3.C:643:13: style: The scope of the variable 'p' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq3.C:657:14: style: The scope of the variable 'p' can be reduced. [variableScope] courier-1.4.1/courier/cdmsgq3.C:626:11: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/cdmsgq3.C:384:46: note: Shadowed declaration courier-1.4.1/courier/cdmsgq3.C:626:11: note: Shadow variable courier-1.4.1/courier/cdpendelinfo.C:13:13: warning: Member variable 'pendelinfo::drvp' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdrcptinfo.C:8:11: warning: Member variable 'rcptinfo::pending' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cdrcptinfo.C:21:19: performance: Function parameter 'host' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdrcptinfo.C:22:19: performance: Function parameter 'address' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdrcptinfo.C:34:18: performance: Function parameter 'host' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdrcptinfo.C:35:18: performance: Function parameter 'address' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cdrcptinfo.C:35:39: performance: Function parameter 'recipient' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm.C:57:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:73:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:115:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:275:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_SOFTWARE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:333:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:368:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:391:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:474:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:484:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:500:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:526:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:600:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:737:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:752:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:910:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:1037:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:1060:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:1074:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.C:1163:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm.h:85:2: style: Class 'ExclusiveLock' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/courier/cmlm.h:92:2: style: Class 'SharedLock' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/courier/cmlmsublist.h:40:2: style: Class 'SubscriberList' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/courier/cmlm.C:728:2: style: Struct 'savemsg_totmpfile' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/courier/cmlm.C:730:7: style: The function 'saveline' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/courier/cmlm.h:191:15: note: Virtual function in base class courier-1.4.1/courier/cmlm.C:730:7: note: Function in derived class courier-1.4.1/courier/cmlm.C:735:7: style: The function 'error' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/courier/cmlm.h:192:15: note: Virtual function in base class courier-1.4.1/courier/cmlm.C:735:7: note: Function in derived class courier-1.4.1/courier/cmlm.C:218:49: style: Redundant condition: The condition '*default_env != 0' is redundant since '*default_env == '-'' is sufficient. [redundantCondition] courier-1.4.1/courier/cmlm.C:600:27: style: The scope of the variable 'buf2' can be reduced. [variableScope] courier-1.4.1/courier/cmlm.C:601:15: style: The scope of the variable 'nextseqno' can be reduced. [variableScope] courier-1.4.1/courier/cmlm.C:765:44: style: The scope of the variable 'keywords' can be reduced. [variableScope] courier-1.4.1/courier/cmlm.C:792:15: style: The scope of the variable 'header_name' can be reduced. [variableScope] courier-1.4.1/courier/cmlm.C:165:6: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlm.C:120:9: note: Shadowed declaration courier-1.4.1/courier/cmlm.C:165:6: note: Shadow variable courier-1.4.1/courier/cmlm.C:978:3: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] courier-1.4.1/courier/cmlm.C:331:17: performance: Function parameter 'webcmd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm.C:383:18: performance: Function parameter 'webcmd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm.C:445:31: performance: Function parameter 'msg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm.C:1012:9: performance: Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant. [stlcstrParam] courier-1.4.1/courier/cmlm.C:844:4: performance: Inefficient constructor call: container 'firstword' is assigned a partial copy of itself. Use erase() or resize() instead. [uselessCallsConstructor] courier-1.4.1/courier/cmlm.C:882:9: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlm2.C:33:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ll_readlock [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm2.C:146:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm2.C:257:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rfc2047_qp_allow_word [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm2.C:99:41: style:inconclusive: Function 'get_verp_return' argument 1 names different: declaration 'addr' definition 'pfix'. [funcArgNamesDifferent] courier-1.4.1/courier/cmlm.h:145:41: note: Function 'get_verp_return' argument 1 names different: declaration 'addr' definition 'pfix'. courier-1.4.1/courier/cmlm2.C:99:41: note: Function 'get_verp_return' argument 1 names different: declaration 'addr' definition 'pfix'. courier-1.4.1/courier/cmlm2.C:255:11: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlm2.C:229:25: note: Shadowed declaration courier-1.4.1/courier/cmlm2.C:255:11: note: Shadow variable courier-1.4.1/courier/cmlm2.C:99:41: performance: Function parameter 'pfix' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:169:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_NOUSER [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm3.C:248:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm3.C:366:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BINDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm3.C:383:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm3.C:535:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlm3.C:366:20: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cmlm3.C:442:34: style:inconclusive: Function 'header_s' argument 1 names different: declaration 'a' definition 'msgbuf'. [funcArgNamesDifferent] courier-1.4.1/courier/cmlm.h:153:34: note: Function 'header_s' argument 1 names different: declaration 'a' definition 'msgbuf'. courier-1.4.1/courier/cmlm3.C:442:34: note: Function 'header_s' argument 1 names different: declaration 'a' definition 'msgbuf'. courier-1.4.1/courier/cmlm3.C:442:54: style:inconclusive: Function 'header_s' argument 2 names different: declaration 'b' definition 'header'. [funcArgNamesDifferent] courier-1.4.1/courier/cmlm.h:153:49: note: Function 'header_s' argument 2 names different: declaration 'b' definition 'header'. courier-1.4.1/courier/cmlm3.C:442:54: note: Function 'header_s' argument 2 names different: declaration 'b' definition 'header'. courier-1.4.1/courier/cmlm3.C:165:31: performance: Function parameter 'from' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:186:25: performance: Function parameter 'dummy' should be passed by const reference. However it seems that 'isfound' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlm3.C:195:27: note: Function pointer used here. courier-1.4.1/courier/cmlm3.C:186:25: note: Function parameter 'dummy' should be passed by const reference. However it seems that 'isfound' is a callback function. courier-1.4.1/courier/cmlm3.C:191:40: performance: Function parameter 'dir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:191:57: performance: Function parameter 'from' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:230:25: performance: Function parameter 'a' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:235:28: performance: Function parameter 'dir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:391:40: performance: Function parameter 'from' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:501:36: performance: Function parameter 'msg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlm3.C:57:7: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlm3.C:585:50: error: Using iterator to local container 'addr' that may be invalid. [invalidContainer] courier-1.4.1/courier/cmlm3.C:574:50: note: Iterator to container is created here. courier-1.4.1/courier/cmlm3.C:580:8: note: Assuming condition is true. courier-1.4.1/courier/cmlm3.C:580:8: note: Assuming condition is true. courier-1.4.1/courier/cmlm3.C:581:7: note: After calling 'addr=""', iterators or references to the container's data may be invalid . courier-1.4.1/courier/cmlm3.C:503:14: note: Variable created here. courier-1.4.1/courier/cmlm3.C:585:50: note: Using iterator to local container 'addr' that may be invalid. courier-1.4.1/courier/cmlmarchive.C:36:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmarchive.C:60:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmarchive.C:111:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmarchive.C:20:10: warning: Member variable 'Archive::seq_no' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/cmlmarchive.C:98:3: warning: Class 'ArchiveList' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] courier-1.4.1/courier/cmlmarchive.C:98:3: warning: Class 'ArchiveList' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] courier-1.4.1/courier/cmlmarchive.C:32:6: style: The scope of the variable 'buf' can be reduced. [variableScope] courier-1.4.1/courier/cmlmarchive.C:109:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmbounce.C:53:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:216:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:339:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:370:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:404:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:426:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmbounce.C:472:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmbounce.C:161:10: style: The scope of the variable 'addrcnt' can be reduced. [variableScope] courier-1.4.1/courier/cmlmbounce.C:209:37: performance: Function parameter 'tmpfilename' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:385:46: performance: Function parameter 'addr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:385:64: performance: Function parameter 'pfix' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:424:31: performance: Function parameter 'addr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:424:49: performance: Function parameter 'lastbounce' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:424:73: performance: Function parameter 'dir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmbounce.C:254:12: style: Variable 'bouncedir' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/cmlmcleanup.C:129:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable second [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:205:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:242:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:269:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:388:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:423:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcleanup.C:40:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:74:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:164:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:195:22: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:204:4: style: Obsolescent function 'utime' called. It is recommended to use 'utimensat' instead. [prohibitedutimeCalled] courier-1.4.1/courier/cmlmcleanup.C:497:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:541:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcleanup.C:394:23: style: The scope of the variable 'sub_list' can be reduced. [variableScope] courier-1.4.1/courier/cmlmcleanup.C:394:33: style: The scope of the variable 'unsub_list' can be reduced. [variableScope] courier-1.4.1/courier/cmlmcleanup.C:394:45: style: The scope of the variable 'bounce_list' can be reduced. [variableScope] courier-1.4.1/courier/cmlmcleanup.C:86:14: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmcleanup.C:66:14: note: Shadowed declaration courier-1.4.1/courier/cmlmcleanup.C:86:14: note: Shadow variable courier-1.4.1/courier/cmlmcleanup.C:102:15: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmcleanup.C:66:14: note: Shadowed declaration courier-1.4.1/courier/cmlmcleanup.C:102:15: note: Shadow variable courier-1.4.1/courier/cmlmcleanup.C:375:30: performance: Function parameter 'l' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmcleanup.C:470:37: performance: Function parameter 'd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmcleanup.C:531:37: performance: Function parameter 'd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmcleanup.C:560:35: performance: Function parameter 'd' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmcleanup.C:31:31: style: Parameter 'current_time' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/cmlmcleanup.C:61:36: style: Parameter 'current_time' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/cmlmcleanup.C:386:14: style: Variable 'record' can be declared as reference to const [constVariableReference] courier-1.4.1/courier/cmlmcleanup.C:34:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmcleanup.C:64:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmcleanup.C:149:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmcleanup.C:474:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmcmdmisc.C:43:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DATADIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:184:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:249:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:352:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:366:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:393:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:430:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:440:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:449:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:458:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:466:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_NOUSER [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmcmdmisc.C:62:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmcmdmisc.C:339:22: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/courier/cmlmcmdmisc.C:400:14: style: The scope of the variable 'subinfo' can be reduced. [variableScope] courier-1.4.1/courier/cmlmcmdmisc.C:237:46: performance: Function parameter 'subbuf' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmcmdmisc.C:456:35: performance: Function parameter 's' should be passed by const reference. However it seems that 'print_info' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmcmdmisc.C:464:44: note: Function pointer used here. courier-1.4.1/courier/cmlmcmdmisc.C:456:35: note: Function parameter 's' should be passed by const reference. However it seems that 'print_info' is a callback function. courier-1.4.1/courier/cmlmcmdmisc.C:339:16: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmcmdmisc.C:122:7: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlmcmdmisc.C:142:10: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlmdigest.C:43:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmdigest.C:247:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmdigest.C:40:47: style: Parameter 'list' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/cmlmdigest.C:235:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmdigest.C:70:9: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlmdigest.C:201:5: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/cmlmfetch.C:53:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:82:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:174:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:295:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:433:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:495:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:597:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfetch.C:93:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/courier/cmlmfetch.C:105:22: style: Condition 'headers.size()==0' is always false [knownConditionTrueFalse] courier-1.4.1/courier/cmlmfetch.C:238:9: style: The scope of the variable 'j' can be reduced. [variableScope] courier-1.4.1/courier/cmlmfetch.C:303:7: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmfetch.C:238:6: note: Shadowed declaration courier-1.4.1/courier/cmlmfetch.C:303:7: note: Shadow variable courier-1.4.1/courier/cmlmfetch.C:363:8: style: Local variable 'buf' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmfetch.C:356:15: note: Shadowed declaration courier-1.4.1/courier/cmlmfetch.C:363:8: note: Shadow variable courier-1.4.1/courier/cmlmfetch.C:384:7: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmfetch.C:238:6: note: Shadowed declaration courier-1.4.1/courier/cmlmfetch.C:384:7: note: Shadow variable courier-1.4.1/courier/cmlmfetch.C:477:15: style: Local variable 'buf' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmfetch.C:423:14: note: Shadowed declaration courier-1.4.1/courier/cmlmfetch.C:477:15: note: Shadow variable courier-1.4.1/courier/cmlmfetch.C:165:33: performance: Function parameter 'msg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmfetch.C:93:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmfetch.C:208:9: performance: Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant. [stlcstrParam] courier-1.4.1/courier/cmlmfetch.C:65:8: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlmfetch.C:68:8: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use replace() instead. [uselessCallsSubstr] courier-1.4.1/courier/cmlmfetch.C:423:14: style: Unused variable: buf [unusedVariable] courier-1.4.1/courier/cmlmfilter.C:15:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfilter.C:35:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfilter.C:46:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfilter.C:90:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfilter.C:120:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmfilter.C:28:7: style: The function 'saveline' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/courier/cmlm.h:191:15: note: Virtual function in base class courier-1.4.1/courier/cmlmfilter.C:28:7: note: Function in derived class courier-1.4.1/courier/cmlmfilter.C:32:7: style: The function 'error' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/courier/cmlm.h:192:15: note: Virtual function in base class courier-1.4.1/courier/cmlmfilter.C:32:7: note: Function in derived class courier-1.4.1/courier/cmlmfilter.C:113:25: style: Variable 'address_cstr' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/cmlmmoderate.C:43:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmmoderate.C:162:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmmoderate.C:256:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable string [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmmoderate.C:377:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmmoderate.C:444:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmmoderate.C:211:52: error: Dereferencing 'f1' after it is deallocated / released [deallocuse] courier-1.4.1/courier/cmlmmoderate.C:213:9: error: Dereferencing 'f1' after it is deallocated / released [deallocuse] courier-1.4.1/courier/cmlmmoderate.C:233:8: error: Dereferencing 'f2' after it is deallocated / released [deallocuse] courier-1.4.1/courier/cmlmmoderate.C:237:25: error: Dereferencing 'f2' after it is deallocated / released [deallocuse] courier-1.4.1/courier/cmlmmoderate.C:248:2: error: Resource handle 'f1' freed twice. [doubleFree] courier-1.4.1/courier/cmlmmoderate.C:186:4: note: Resource handle 'f1' freed twice. courier-1.4.1/courier/cmlmmoderate.C:248:2: note: Resource handle 'f1' freed twice. courier-1.4.1/courier/cmlmmoderate.C:249:2: error: Resource handle 'f2' freed twice. [doubleFree] courier-1.4.1/courier/cmlmmoderate.C:187:4: note: Resource handle 'f2' freed twice. courier-1.4.1/courier/cmlmmoderate.C:249:2: note: Resource handle 'f2' freed twice. courier-1.4.1/courier/cmlmmoderate.C:143:24: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/cmlmmoderate.C:243:19: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmmoderate.C:203:18: note: Shadowed declaration courier-1.4.1/courier/cmlmmoderate.C:243:19: note: Shadow variable courier-1.4.1/courier/cmlmmoderate.C:393:55: performance: Function parameter 's' should be passed by const reference. However it seems that 'domodaccept' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmmoderate.C:275:11: note: Function pointer used here. courier-1.4.1/courier/cmlmmoderate.C:393:55: note: Function parameter 's' should be passed by const reference. However it seems that 'domodaccept' is a callback function. courier-1.4.1/courier/cmlmmoderate.C:398:55: performance: Function parameter 's' should be passed by const reference. However it seems that 'domodreject' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmmoderate.C:278:12: note: Function pointer used here. courier-1.4.1/courier/cmlmmoderate.C:398:55: note: Function parameter 's' should be passed by const reference. However it seems that 'domodreject' is a callback function. courier-1.4.1/courier/cmlmmoderate.C:405:54: performance: Function parameter 's' should be passed by const reference. However it seems that 'domodbounce' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmmoderate.C:280:12: note: Function pointer used here. courier-1.4.1/courier/cmlmmoderate.C:405:54: note: Function parameter 's' should be passed by const reference. However it seems that 'domodbounce' is a callback function. courier-1.4.1/courier/cmlmmoderate.C:398:40: style: Parameter 'i' can be declared as reference to const. However it seems that 'domodreject' is a callback function, if 'i' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/cmlmmoderate.C:278:12: note: You might need to cast the function pointer here courier-1.4.1/courier/cmlmmoderate.C:398:40: note: Parameter 'i' can be declared as reference to const courier-1.4.1/courier/cmlmstartmail.C:52:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmstartmail.C:21:32: performance: Function parameter 's' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsublist.C:50:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmsublist.C:72:11: warning: Either the condition 'dirp' is redundant or there is possible null pointer dereference: dirp. [nullPointerRedundantCheck] courier-1.4.1/courier/cmlmsublist.C:50:9: note: Assuming that condition 'dirp' is not redundant courier-1.4.1/courier/cmlmsublist.C:72:11: note: Null pointer dereference courier-1.4.1/courier/cmlmsublist.C:107:3: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] courier-1.4.1/courier/cmlmsublist.C:28:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmsubunsub.C:45:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsub.C:79:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsub.C:137:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsub.C:307:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsub.C:451:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsub.C:119:57: style:inconclusive: Function 'docmdsub' argument 3 names different: declaration 'addheader' definition 'addflag'. [funcArgNamesDifferent] courier-1.4.1/courier/cmlmsubunsub.h:20:46: note: Function 'docmdsub' argument 3 names different: declaration 'addheader' definition 'addflag'. courier-1.4.1/courier/cmlmsubunsub.C:119:57: note: Function 'docmdsub' argument 3 names different: declaration 'addheader' definition 'addflag'. courier-1.4.1/courier/cmlmsubunsub.C:145:8: style: Local variable 'buf' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsub.C:125:14: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsub.C:145:8: note: Shadow variable courier-1.4.1/courier/cmlmsubunsub.C:399:36: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsub.C:301:3: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsub.C:399:36: note: Shadow variable courier-1.4.1/courier/cmlmsubunsub.C:114:44: performance: Function parameter 'subbuf' should be passed by const reference. However it seems that 'docmdsub' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmsubunsub.C:62:28: note: Function pointer used here. courier-1.4.1/courier/cmlmsubunsub.C:114:44: note: Function parameter 'subbuf' should be passed by const reference. However it seems that 'docmdsub' is a callback function. courier-1.4.1/courier/cmlmsubunsub.C:284:46: performance: Function parameter 'reason' should be passed by const reference. However it seems that 'docmdunsub' is a callback function. [passedByValueCallback] courier-1.4.1/courier/cmlmsubunsub.C:67:28: note: Function pointer used here. courier-1.4.1/courier/cmlmsubunsub.C:284:46: note: Function parameter 'reason' should be passed by const reference. However it seems that 'docmdunsub' is a callback function. courier-1.4.1/courier/cmlmsubunsub.C:289:35: performance: Function parameter 'aptr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsub.C:289:53: performance: Function parameter 'reason' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsub.C:294:55: performance: Function parameter 'reason' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsub.C:442:35: performance: Function parameter 'sub_request' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsub.C:443:21: performance: Function parameter 'addr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsub.C:474:36: performance: Function parameter 'addr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsubmsg.C:126:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsubmsg.C:224:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsubmsg.C:429:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_OSERR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/cmlmsubunsubmsg.C:524:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/cmlmsubunsubmsg.C:130:14: style: The scope of the variable 'token' can be reduced. [variableScope] courier-1.4.1/courier/cmlmsubunsubmsg.C:146:14: style: Local variable 'filename' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsubmsg.C:105:14: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsubmsg.C:146:14: note: Shadow variable courier-1.4.1/courier/cmlmsubunsubmsg.C:197:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsubmsg.C:109:24: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsubmsg.C:197:9: note: Shadow variable courier-1.4.1/courier/cmlmsubunsubmsg.C:434:15: style: Local variable 'filename' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsubmsg.C:401:14: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsubmsg.C:434:15: note: Shadow variable courier-1.4.1/courier/cmlmsubunsubmsg.C:486:12: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/cmlmsubunsubmsg.C:405:24: note: Shadowed declaration courier-1.4.1/courier/cmlmsubunsubmsg.C:486:12: note: Shadow variable courier-1.4.1/courier/cmlmsubunsubmsg.C:212:35: performance: Function parameter 'msg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsubmsg.C:213:21: performance: Function parameter 'addr' should be passed by const reference. [passedByValue] courier-1.4.1/courier/cmlmsubunsubmsg.C:520:18: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/cmlmsubunsubmsg.C:367:21: performance: Passing the result of c_str() to a function that takes std::string as argument no. 2 is slow and redundant. [stlcstrParam] courier-1.4.1/courier/courier-config.c:52:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILUID [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courier.c:43:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COURIER_COPYRIGHT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courier2.C:24:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACK_ADDRACCEPTED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courier2.C:21:3: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/courierd.C:155:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGQDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courierd.C:223:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courierd.C:101:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/courierd.C:446:12: style: The scope of the variable 'l' can be reduced. [variableScope] courier-1.4.1/courier/courierd.C:505:10: style: The scope of the variable 'delnum' can be reduced. [variableScope] courier-1.4.1/courier/courierd.C:506:7: style: The scope of the variable 'c' can be reduced. [variableScope] courier-1.4.1/courier/courierd.C:92:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/courierdb.C:52:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/courierdb.C:42:5: style: The scope of the variable 'triggerr' can be reduced. [variableScope] courier-1.4.1/courier/cppmain.C:25:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/dotforward.c:32:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/dotforward.c:89:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/dotforward.c:246:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/dotforward.c:161:9: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/courier/dotforward.c:91:17: note: Shadowed declaration courier-1.4.1/courier/dotforward.c:161:9: note: Shadow variable courier-1.4.1/courier/dotforward.c:94:7: style: Variable 'sep' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/dotforward.c:162:9: style: Variable 'orig' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/dotforward.c:238:7: style: Variable 'homedir' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/courierfilter.c:40:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PIDFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:93:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERACTIVEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:114:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERACTIVEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:265:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:287:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERSOCKETDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:365:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERSOCKETDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:388:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/courierfilter.c:115:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/filters/courierfilter.c:211:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/filters/courierfilter.c:271:9: error: Invalid close() argument nr 1. The value is -1 but the valid values are '0:'. [invalidFunctionArg] courier-1.4.1/courier/filters/courierfilter.c:262:17: note: Assignment 'devnull=-1', assigned value is -1 courier-1.4.1/courier/filters/courierfilter.c:271:9: note: Invalid argument courier-1.4.1/courier/filters/dupfilter.c:42:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/dupfilter.c:105:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/dupfilter.c:259:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/dupfilter.c:54:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/dupfilter.c:69:8: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/dupfilter.c:119:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/dupfilter.c:138:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/dupfilter.c:43:7: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/dupfilter.c:102:7: style: Variable 'msgid' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/libfilter/libfilter.c:82:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/libfilter/libfilter.c:145:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/libfilter/libfilter.c:169:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ALLFILTERSOCKETDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/libfilter/libfilter.c:153:18: style:inconclusive: Function 'lf_init' argument 2 names different: declaration 'argv' definition 'argv0'. [funcArgNamesDifferent] courier-1.4.1/courier/filters/libfilter/libfilter.h:33:18: note: Function 'lf_init' argument 2 names different: declaration 'argv' definition 'argv0'. courier-1.4.1/courier/filters/libfilter/libfilter.c:153:18: note: Function 'lf_init' argument 2 names different: declaration 'argv' definition 'argv0'. courier-1.4.1/courier/filters/perlfilter/perlfilter.c:62:35: error: There is an unknown macro here somewhere. Configuration is required. If WRAPPERPL is a macro then please configure it. [unknownMacro] courier-1.4.1/courier/filters/ratefilter.C:123:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_AUTHNAME [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:39:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:78:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:120:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:474:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:569:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:636:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/filters/verifyfilter.c:440:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:535:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:538:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:553:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:583:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:646:4: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:653:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/filters/verifyfilter.c:199:22: style: Variable 'info->log_smtp_error' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/courier/filters/verifyfilter.c:196:22: note: info->log_smtp_error is assigned courier-1.4.1/courier/filters/verifyfilter.c:199:22: note: info->log_smtp_error is overwritten courier-1.4.1/courier/filters/verifyfilter.c:239:24: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/filters/verifyfilter.c:230:9: note: Shadowed declaration courier-1.4.1/courier/filters/verifyfilter.c:239:24: note: Shadow variable courier-1.4.1/courier/filters/verifyfilter.c:653:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/filters/verifyfilter.c:637:8: note: Shadowed declaration courier-1.4.1/courier/filters/verifyfilter.c:653:9: note: Shadow variable courier-1.4.1/courier/filters/verifyfilter.c:154:54: style: Parameter 'info' can be declared as pointer to const. However it seems that 'lookup_broken_starttls' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/filters/verifyfilter.c:202:31: note: You might need to cast the function pointer here courier-1.4.1/courier/filters/verifyfilter.c:154:54: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/filters/verifyfilter.c:158:22: style: Variable 'my_info' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:164:53: style: Parameter 'my_env' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/filters/verifyfilter.c:333:9: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:535:10: style: Variable 'msg' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:546:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:583:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:628:34: style: Parameter 'b' can be declared as pointer to const. However it seems that 'initverifyinfo' is a callback function, if 'b' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/filters/verifyfilter.c:726:32: note: You might need to cast the function pointer here courier-1.4.1/courier/filters/verifyfilter.c:628:34: note: Parameter 'b' can be declared as pointer to const courier-1.4.1/courier/filters/verifyfilter.c:637:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:653:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/filters/verifyfilter.c:662:53: style: Parameter 'vti' can be declared as pointer to const. However it seems that 'verifythread' is a callback function, if 'vti' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/filters/verifyfilter.c:711:28: note: You might need to cast the function pointer here courier-1.4.1/courier/filters/verifyfilter.c:662:53: note: Parameter 'vti' can be declared as pointer to const courier-1.4.1/courier/filters/verifyfilter.c:683:53: style: Parameter 'ignored' can be declared as pointer to const. However it seems that 'verifyfinish' is a callback function, if 'ignored' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/filters/verifyfilter.c:712:28: note: You might need to cast the function pointer here courier-1.4.1/courier/filters/verifyfilter.c:683:53: note: Parameter 'ignored' can be declared as pointer to const courier-1.4.1/courier/ldapaliasd.c:154:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAP_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:211:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAP_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:239:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAP_SCOPE_SUBTREE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:359:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bv_val [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:472:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bv_val [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:528:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:568:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:707:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:809:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:845:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:850:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:855:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:876:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:904:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COURIER_HOME [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasd.c:361:24: style: Condition '(rc=fwrite(values[i]->bv_val,values[i]->bv_len,1,outfp))<0' is always false [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:474:24: style: Condition '(rc=fwrite(values[i]->bv_val,values[i]->bv_len,1,outfp))<0' is always false [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:732:9: style: Condition '!sighup_received' is always true [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:721:18: note: Assignment 'sighup_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:732:9: note: Condition '!sighup_received' is always true courier-1.4.1/courier/ldapaliasd.c:732:29: style: Condition '!sigterm_received' is always true [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:722:19: note: Assignment 'sigterm_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:732:29: note: Condition '!sigterm_received' is always true courier-1.4.1/courier/ldapaliasd.c:733:9: style: Condition '!sigchild_received' is always true [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:723:20: note: Assignment 'sigchild_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:733:9: note: Condition '!sigchild_received' is always true courier-1.4.1/courier/ldapaliasd.c:770:6: style: Condition 'sighup_received' is always false [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:721:18: note: Assignment 'sighup_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:770:6: note: Condition 'sighup_received' is always false courier-1.4.1/courier/ldapaliasd.c:773:6: style: Condition 'sigterm_received' is always false [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:722:19: note: Assignment 'sigterm_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:773:6: note: Condition 'sigterm_received' is always false courier-1.4.1/courier/ldapaliasd.c:776:6: style: Condition 'sigchild_received' is always false [knownConditionTrueFalse] courier-1.4.1/courier/ldapaliasd.c:723:20: note: Assignment 'sigchild_received=0', assigned value is 0 courier-1.4.1/courier/ldapaliasd.c:776:6: note: Condition 'sigchild_received' is always false courier-1.4.1/courier/ldapaliasd.c:356:9: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/courier/ldapaliasd.c:283:6: note: Shadowed declaration courier-1.4.1/courier/ldapaliasd.c:356:9: note: Shadow variable courier-1.4.1/courier/ldapaliasd.c:469:9: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/courier/ldapaliasd.c:381:6: note: Shadowed declaration courier-1.4.1/courier/ldapaliasd.c:469:9: note: Shadow variable courier-1.4.1/courier/ldapaliasd.c:213:16: style: Variable 's' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/ldapaliasd.c:213:15: style: Variable 's' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/ldapaliasd.c:364:7: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/ldapaliasd.c:478:7: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/ldapaliasdrc.c:43:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasdrc.c:125:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/ldapaliasdrc.c:89:9: style: Variable 'p' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/libs/addrlower.c:54:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/addrlower.c:87:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cdefaultdomain.c:24:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cdomaincmp.c:51:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cfilename.c:17:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cfilename.c:38:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cgethostname.c:27:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cgethostname.c:35:10: style: Condition 'buf[0]' is always false [knownConditionTrueFalse] courier-1.4.1/courier/libs/cgethostname.c:32:10: note: Assignment 'buf[0]=0', assigned value is 0 courier-1.4.1/courier/libs/cgethostname.c:35:10: note: Condition 'buf[0]' is always false courier-1.4.1/courier/libs/cmaildropmda.c:25:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILDROP [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/cme.c:39:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/aliases.h:43:2: style: Class 'AliasRecord' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/courier/libs/comaliases1.C:12:36: performance: Function parameter 'n' should be passed by const reference. [passedByValue] courier-1.4.1/courier/libs/comaliases2.C:24:18: style:inconclusive: Technically the member function 'AliasRecord::search' can be const. [functionConst] courier-1.4.1/courier/libs/aliases.h:62:6: note: Technically the member function 'AliasRecord::search' can be const. courier-1.4.1/courier/libs/comaliases2.C:24:18: note: Technically the member function 'AliasRecord::search' can be const. courier-1.4.1/courier/libs/comaliases2.C:50:14: style: Unused variable: s [unusedVariable] courier-1.4.1/courier/libs/comaliases4.C:39:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comaliases4.C:245:18: performance:inconclusive: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:88:6: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:245:18: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:258:18: performance:inconclusive: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:89:6: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:258:18: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:298:18: performance:inconclusive: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:90:6: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:298:18: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:28:9: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/libs/comaliases4.C:78:5: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/libs/comaliases4.C:26:46: style: Parameter 'module' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comaliases4.C:113:24: style: struct member 'ldapaliaslist::next' is never used. [unusedStructMember] courier-1.4.1/courier/libs/comaliases4.C:114:14: style: struct member 'ldapaliaslist::alias' is never used. [unusedStructMember] courier-1.4.1/courier/libs/combatchsize.c:34:17: style: Checking if unsigned expression 'batchsize' is less than zero. [unsignedLessThanZero] courier-1.4.1/courier/libs/comcargs.c:36:21: style: Condition 'argv[argn][0]!='-'' is always false [knownConditionTrueFalse] courier-1.4.1/courier/libs/comcargs.c:30:21: note: Assuming that condition 'argv[argn][0]!='-'' is not redundant courier-1.4.1/courier/libs/comcargs.c:31:21: note: Assuming condition is false courier-1.4.1/courier/libs/comcargs.c:36:21: note: Condition 'argv[argn][0]!='-'' is always false courier-1.4.1/courier/libs/comctlfile.c:48:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comctlfile.c:218:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_len [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comctlfile.c:263:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comctlfile.c:447:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comctlfile.c:523:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comctlfile.c:118:37: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comctlfile.c:96:9: style: Checking if unsigned expression 'j' is less than zero. [unsignedLessThanZero] courier-1.4.1/courier/libs/comctlfile.c:183:41: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comctlfile.c:200:37: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comctlfile.c:207:38: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comctlfile.c:511:42: style: Parameter 'ctf' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comdsn2.c:64:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRIPLEBOUNCE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comdsn2.c:39:8: style: Local variable 'i' shadows outer argument [shadowArgument] courier-1.4.1/courier/libs/comdsn2.c:14:54: note: Shadowed declaration courier-1.4.1/courier/libs/comdsn2.c:39:8: note: Shadow variable courier-1.4.1/courier/libs/comdsn2.c:113:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/libs/comdsn2.c:17:13: note: Shadowed declaration courier-1.4.1/courier/libs/comdsn2.c:113:15: note: Shadow variable courier-1.4.1/courier/libs/comesmtpidstring.c:24:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/commsgcancel.c:77:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comqueuename.c:20:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGSDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comqueuename.c:46:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGQDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comqueuename.c:55:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGQDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comqueuename2.c:30:20: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/courier/libs/comqueuename2.c:30:14: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comrwheader.c:45:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwheader.c:98:11: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/libs/comrwheader.c:22:5: note: Shadowed declaration courier-1.4.1/courier/libs/comrwheader.c:98:11: note: Shadow variable courier-1.4.1/courier/libs/comrwinstall.c:39:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_init_verbose_flag [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwinstall.c:64:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_init_verbose_flag [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwinstall.c:108:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_init_verbose_flag [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwmsg.c:124:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_OUTPUT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwmsg.c:119:12: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comrwmsg7bit.c:42:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COURIER_VERSION [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comrwmsg8bit.c:16:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comstatfs.c:39:51: style: Parameter 'nblocks' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comstatfs.c:40:17: style: Parameter 'ninodes' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comstatfs.c:40:36: style: Parameter 'blksize' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comsts.c:337:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts.c:357:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts.c:451:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts.c:665:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts.c:701:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts.c:484:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:519:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:782:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:796:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:837:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:892:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:895:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/libs/comsts.c:134:58: style:inconclusive: Function 'sts_policy_override' argument 2 names different: declaration 'mode' definition 'mode_str'. [funcArgNamesDifferent] courier-1.4.1/courier/libs/comsts.h:86:58: note: Function 'sts_policy_override' argument 2 names different: declaration 'mode' definition 'mode_str'. courier-1.4.1/courier/libs/comsts.c:134:58: note: Function 'sts_policy_override' argument 2 names different: declaration 'mode' definition 'mode_str'. courier-1.4.1/courier/libs/comsts.c:683:40: style:inconclusive: Function 'sts_download3' argument 1 names different: declaration 'domain' definition 'url'. [funcArgNamesDifferent] courier-1.4.1/courier/libs/comsts.c:588:40: note: Function 'sts_download3' argument 1 names different: declaration 'domain' definition 'url'. courier-1.4.1/courier/libs/comsts.c:683:40: note: Function 'sts_download3' argument 1 names different: declaration 'domain' definition 'url'. courier-1.4.1/courier/libs/comsts.c:480:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsts.c:561:8: style: Variable 'v' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsts.c:739:33: style: Parameter 'id' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/comsts.c:788:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsts.c:804:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsts.c:814:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsts2.c:18:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts2.c:43:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts2.c:49:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts2.c:68:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fb [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts2.c:88:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCALSTATEDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsts2.c:93:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/libs/comsts2.c:79:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comsubmitclient.c:41:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:64:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:75:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:108:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBEXECDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:254:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:492:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comsubmitclient.c:493:6: style: Condition 'alarmflag' is always false [knownConditionTrueFalse] courier-1.4.1/courier/libs/comsubmitclient.c:486:12: note: Assignment 'alarmflag=0', assigned value is 0 courier-1.4.1/courier/libs/comsubmitclient.c:493:6: note: Condition 'alarmflag' is always false courier-1.4.1/courier/libs/comsubmitclient.c:216:15: warning: If memory allocation fails, then there is a possible null pointer dereference: newargs [nullPointerOutOfMemory] courier-1.4.1/courier/libs/comsubmitclient.c:214:16: note: Assuming allocation function fails courier-1.4.1/courier/libs/comsubmitclient.c:214:16: note: Assignment 'newargs=malloc((i+2)*sizeof(char*))', assigned value is 0 courier-1.4.1/courier/libs/comsubmitclient.c:216:15: note: Null pointer dereference courier-1.4.1/courier/libs/comsubmitclient2.c:14:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtmpfile2.c:67:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtmpfile2.c:70:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/libs/comtmpfile2.c:51:9: note: Shadowed declaration courier-1.4.1/courier/libs/comtmpfile2.c:70:10: note: Shadow variable courier-1.4.1/courier/libs/comtrack.c:87:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:124:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:165:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:172:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:182:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:224:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:229:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:241:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:283:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRACKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:291:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable udomainlower [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:299:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable udomainlower [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:311:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable udomainlower [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrack.c:60:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/libs/comtrack.c:51:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/comtrigger.c:21:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comtrigger.c:27:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comuidgid.C:13:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILUSER [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/comuidgid.C:20:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILGROUP [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/islocal.c:82:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/islocal.c:162:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/lcclog.c:97:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/lcclog.c:194:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/lcclog3.c:31:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/lcrewrite.c:27:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/lcrwstatic.c:28:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rw_init_verbose_flag [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/moduledel.c:98:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/moduledel.c:182:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/moduledel.c:57:2: warning: If memory allocation fails, then there is a possible null pointer dereference: cols [nullPointerOutOfMemory] courier-1.4.1/courier/libs/moduledel.c:54:13: note: Assuming allocation function fails courier-1.4.1/courier/libs/moduledel.c:53:8: note: Assignment 'cols=(char**)(cols?realloc(cols,colcnt*sizeof(char*)):malloc(colcnt*sizeof(char*)))', assigned value is 0 courier-1.4.1/courier/libs/moduledel.c:57:2: note: Null pointer dereference courier-1.4.1/courier/libs/moduledel.c:205:3: style: Redundant assignment of 'i' to itself. [selfAssignment] courier-1.4.1/courier/libs/moduledel.c:253:3: style: Redundant assignment of 'n' to itself. [selfAssignment] courier-1.4.1/courier/libs/moduledel.c:270:23: style: Checking if unsigned expression 'module_nchildren' is less than zero. [unsignedLessThanZero] courier-1.4.1/courier/libs/moduledel.c:190:8: style: Local variable 'cols' shadows outer variable [shadowVariable] courier-1.4.1/courier/libs/moduledel.c:31:15: note: Shadowed declaration courier-1.4.1/courier/libs/moduledel.c:190:8: note: Shadow variable courier-1.4.1/courier/libs/moduledel.c:318:10: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/libs/moduledel.c:290:10: note: Shadowed declaration courier-1.4.1/courier/libs/moduledel.c:318:10: note: Shadow variable courier-1.4.1/courier/libs/moduledel.c:191:7: style: Variable 'line' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/libs/moduledel.c:286:59: style: Parameter 'slotptr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/libs/moduledel.c:205:3: style: Variable 'i' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/libs/moduledel.c:253:3: style: Variable 'n' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/libs/readfile.c:33:2: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/courier/libs/readfile.c:30:3: note: Resource handle 'fp' freed twice. courier-1.4.1/courier/libs/readfile.c:33:2: note: Resource handle 'fp' freed twice. courier-1.4.1/courier/libs/rwdefaulthost.c:52:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_HEADER [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/rwdefaulthost.c:52:32: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] courier-1.4.1/courier/libs/testaliases.C:59:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/mailq.c:62:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/mailq.c:153:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSGSDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/mailq.c:86:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/courier/mailq.c:91:5: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] courier-1.4.1/courier/mailq.c:174:18: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/mailq.c:186:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/mailq.c:275:3: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/courier/mailq.c:277:3: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/courier/mailq.c:60:53: style: Parameter 'stat_buf' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/mailq.c:64:12: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/mailq.c:146:26: style: Variable 'dire' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.dsn/dsn.c:842:3: error: There is an unknown macro here somewhere. Configuration is required. If RFC2045MIMEMSG is a macro then please configure it. [unknownMacro] courier-1.4.1/courier/module.dsn/dsnstub.c:56:9: style: Redundant assignment of 'delfunc' to itself. [selfAssignment] courier-1.4.1/courier/module.dsn/dsnstub.c:56:9: style: Variable 'delfunc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/module.esmtp/addcr.c:19:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:89:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:153:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable module_nchildren [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:398:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pid [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:469:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:513:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable module_delids [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtp.c:216:9: style: Variable 'line' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:162:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COURIER_EXTENSIONS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:268:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:403:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable submit_print_stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:414:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable submit_to [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:860:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1121:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1290:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1291:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1294:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:475:14: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: r [nullPointerOutOfMemory] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:472:16: note: Assuming allocation function fails courier-1.4.1/courier/module.esmtp/courieresmtpd.c:472:16: note: Assignment 'q=strdup(p)', assigned value is 0 courier-1.4.1/courier/module.esmtp/courieresmtpd.c:475:10: note: Assignment 'r=q', assigned value is 0 courier-1.4.1/courier/module.esmtp/courieresmtpd.c:475:14: note: Null pointer dereference courier-1.4.1/courier/module.esmtp/courieresmtpd.c:176:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:172:13: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/courieresmtpd.c:176:9: note: Shadow variable courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1348:12: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1148:8: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1348:12: note: Shadow variable courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1373:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1148:8: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1373:10: note: Shadow variable courier-1.4.1/courier/module.esmtp/courieresmtpd.c:322:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:339:16: style: Variable 'exid' can be declared as const array [constVariable] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:976:48: style: Parameter 'a' can be declared as pointer to const. However it seems that 'auth_callback_func' is a callback function, if 'a' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1343:9: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/courieresmtpd.c:976:48: note: Parameter 'a' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/courieresmtpd.c:976:57: style: Parameter 'va' can be declared as pointer to const. However it seems that 'auth_callback_func' is a callback function, if 'va' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/courieresmtpd.c:1343:9: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/courieresmtpd.c:976:57: note: Parameter 'va' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/courieresmtpd.c:897:6: style: Variable 'p' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/module.esmtp/esmtp.c:183:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtp.c:322:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_SUBMIT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtp.c:380:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_VERIFY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtp.c:316:4: style: Variable '*r' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/courier/module.esmtp/esmtp.c:314:4: note: *r is assigned courier-1.4.1/courier/module.esmtp/esmtp.c:316:4: note: *r is overwritten courier-1.4.1/courier/module.esmtp/esmtpclient.c:96:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:255:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:322:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:436:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:453:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELDEFERRED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:475:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:526:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELINFO_REPLYTYPE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:546:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELINFO_REPLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:567:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELINFO_SENT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:634:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:662:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELSUCCESS_NOLOG [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:853:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpclient.c:275:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/esmtpclient.c:873:19: style: Expression is always false because 'else if' condition matches previous condition at line 871. [multiCondition] courier-1.4.1/courier/module.esmtp/esmtpclient.c:834:12: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/esmtpclient.c:822:11: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/esmtpclient.c:834:12: note: Shadow variable courier-1.4.1/courier/module.esmtp/esmtpclient.c:428:43: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpclient.c:445:43: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpclient.c:473:26: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpclient.c:516:40: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpclient.c:536:37: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpclient.c:558:36: style: Parameter 'del' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/esmtpiov.c:106:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpiov.c:198:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iov_base [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/esmtpiov.c:87:28: style: Parameter 't' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:69:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:171:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:255:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:563:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:922:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1197:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTHSASL_NOMETHODS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1322:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTHSASL_CANCELLED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1340:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTHSASL_CANCELLED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1404:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_ADDRANY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1496:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1998:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:2546:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:2931:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_RW_7BIT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:3018:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.esmtp/libesmtp.c:1173:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/libesmtp.c:1186:20: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/libesmtp.c:1187:22: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/libesmtp.c:2419:13: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/courier/module.esmtp/libesmtp.c:2421:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/courier/module.esmtp/libesmtp.c:2419:13: note: Null pointer dereference courier-1.4.1/courier/module.esmtp/libesmtp.c:1486:26: style:inconclusive: Function 'do_esmtp_connect_to' argument 3 names different: declaration 'id' definition 'domain_sts_id'. [funcArgNamesDifferent] courier-1.4.1/courier/module.esmtp/libesmtp.c:1458:26: note: Function 'do_esmtp_connect_to' argument 3 names different: declaration 'id' definition 'domain_sts_id'. courier-1.4.1/courier/module.esmtp/libesmtp.c:1486:26: note: Function 'do_esmtp_connect_to' argument 3 names different: declaration 'id' definition 'domain_sts_id'. courier-1.4.1/courier/module.esmtp/libesmtp.c:755:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:561:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:755:16: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:760:14: style: Local variable 'l' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:717:12: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:760:14: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:797:18: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:716:15: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:797:18: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:823:18: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:716:15: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:823:18: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:856:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:561:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:856:15: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:1629:8: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:1493:6: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:1629:8: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:1713:10: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:1629:8: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:1713:10: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2114:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2110:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2114:15: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2154:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2110:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2154:16: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2186:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2110:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2186:10: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2342:24: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2318:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2342:24: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2374:8: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2320:9: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2374:8: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2625:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/libesmtp.c:2574:14: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2625:10: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:2775:12: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/courier/module.esmtp/libesmtp.c:2716:20: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/libesmtp.c:2775:12: note: Shadow variable courier-1.4.1/courier/module.esmtp/libesmtp.c:236:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:324:52: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_talking' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:402:19: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:324:52: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:324:64: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_talking' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:402:19: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:324:64: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:328:49: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_sent' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:403:16: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:328:49: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:329:29: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_sent' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:403:16: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:329:29: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:333:50: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_reply' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:404:17: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:333:50: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:334:30: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_reply' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:404:17: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:334:30: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:338:55: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_smtp_error' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:405:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:338:55: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:339:28: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_smtp_error' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:405:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:339:28: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:343:55: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_rcpt_error' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:406:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:343:55: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:344:42: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_rcpt_error' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:406:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:344:42: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:348:54: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_net_error' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:407:21: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:348:54: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:349:13: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_net_error' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:407:21: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:349:13: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:353:52: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_log_success' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:408:19: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:353:52: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:356:11: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_log_success' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:408:19: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:356:11: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:360:63: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_report_broken_starttls' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:409:30: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:360:63: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:362:15: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_report_broken_starttls' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:409:30: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:362:15: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:366:62: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_lookup_broken_starttls' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:410:30: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:366:62: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:368:14: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_lookup_broken_starttls' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:410:30: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:368:14: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:373:60: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_is_local_or_loopback' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:411:28: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:373:60: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:376:12: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_is_local_or_loopback' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:411:28: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:376:12: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:381:54: style: Parameter 'info' can be declared as pointer to const. However it seems that 'default_get_sourceaddr' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:412:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:381:54: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:383:21: style: Parameter 'source_addr' can be declared as pointer to const. However it seems that 'default_get_sourceaddr' is a callback function, if 'source_addr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:412:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:383:21: note: Parameter 'source_addr' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:384:13: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'default_get_sourceaddr' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/module.esmtp/libesmtp.c:412:22: note: You might need to cast the function pointer here courier-1.4.1/courier/module.esmtp/libesmtp.c:384:13: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/module.esmtp/libesmtp.c:481:40: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1150:8: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1490:38: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1934:57: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1939:8: style: Variable 'bodyverb' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1939:22: style: Variable 'verpverb' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1939:36: style: Variable 'retverb' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:1941:8: style: Variable 'smtputf8verb' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.esmtp/libesmtp.c:2103:59: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.esmtp/smtproutes.c:130:19: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.esmtp/smtproutes.c:37:8: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/smtproutes.c:32:13: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/smtproutes.c:37:8: note: Shadow variable courier-1.4.1/courier/module.esmtp/smtproutes.c:132:10: style: Local variable 'r' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.esmtp/smtproutes.c:119:16: note: Shadowed declaration courier-1.4.1/courier/module.esmtp/smtproutes.c:132:10: note: Shadow variable courier-1.4.1/courier/module.fax/courierfax.c:539:32: error: There is an unknown macro here somewhere. Configuration is required. If SENDFAX is a macro then please configure it. [unknownMacro] courier-1.4.1/courier/module.fax/faxconvert.c:63:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:120:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:217:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FILTERBINDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:359:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FAX_COVERONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:479:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FAXTMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:620:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FAXTMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:672:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:698:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:741:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxconvert.c:97:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/module.fax/faxconvert.c:423:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/module.fax/faxconvert.c:313:9: style: Condition 'sid' is always true [knownConditionTrueFalse] courier-1.4.1/courier/module.fax/faxconvert.c:313:16: style: Condition '*sid' is always true [knownConditionTrueFalse] courier-1.4.1/courier/module.fax/faxconvert.c:589:3: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/courier/module.fax/faxconvert.c:757:3: error: Resource handle 'fd2' freed twice. [doubleFree] courier-1.4.1/courier/module.fax/faxconvert.c:752:10: note: Resource handle 'fd2' freed twice. courier-1.4.1/courier/module.fax/faxconvert.c:757:3: note: Resource handle 'fd2' freed twice. courier-1.4.1/courier/module.fax/faxconvert.c:270:16: style: Local variable 'content_type' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.fax/faxconvert.c:240:14: note: Shadowed declaration courier-1.4.1/courier/module.fax/faxconvert.c:270:16: note: Shadow variable courier-1.4.1/courier/module.fax/faxconvert.c:270:31: style: Local variable 'dummy' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.fax/faxconvert.c:240:29: note: Shadowed declaration courier-1.4.1/courier/module.fax/faxconvert.c:270:31: note: Shadow variable courier-1.4.1/courier/module.fax/faxconvert.c:531:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.fax/faxconvert.c:476:6: note: Shadowed declaration courier-1.4.1/courier/module.fax/faxconvert.c:531:8: note: Shadow variable courier-1.4.1/courier/module.fax/faxconvert.c:92:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.fax/faxconvert.c:421:18: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.fax/faxstub.c:418:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_SUBMIT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.fax/faxstub.c:245:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:262:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:273:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:328:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:336:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:352:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:359:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.fax/faxstub.c:418:35: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] courier-1.4.1/courier/module.local/deliver.c:92:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:153:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:332:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:447:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:485:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:823:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:906:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/deliver.c:520:17: warning: Either the condition '(mbox_fd=ll_mail_open(ll))<0' is redundant or fdopen() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] courier-1.4.1/courier/module.local/deliver.c:507:37: note: Assuming that condition '(mbox_fd=ll_mail_open(ll))<0' is not redundant courier-1.4.1/courier/module.local/deliver.c:520:17: note: Invalid argument courier-1.4.1/courier/module.local/deliver.c:219:8: style: Condition '*ctl' is always true [knownConditionTrueFalse] courier-1.4.1/courier/module.local/deliver.c:522:25: warning: Repositioning operation performed on a file opened in append mode has no effect. [seekOnAppendedFile] courier-1.4.1/courier/module.local/deliver.c:70:8: style: Variable 'username' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.local/deliver.c:71:8: style: Variable 'userhome' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.local/deliver.c:544:9: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.local/dotcourier.c:48:7: style: Variable 'x' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.local/local.c:503:0: error: failed to expand 'syslog', Wrong number of parameters for macro 'syslog'. [preprocessorErrorDirective] courier-1.4.1/courier/module.local/local.c:503:3: error: failed to expand 'syslog', Wrong number of parameters for macro 'syslog'. [preprocessorErrorDirective] courier-1.4.1/courier/module.local/localmail.c:130:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELDEFERRED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/localmail.c:432:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/localmail.c:456:15: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] courier-1.4.1/courier/module.local/localmail.c:451:17: note: outer condition: msgpipe>=0 courier-1.4.1/courier/module.local/localmail.c:456:15: note: identical inner condition: msgpipe>=0 courier-1.4.1/courier/module.local/localmail.c:458:15: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] courier-1.4.1/courier/module.local/localmail.c:451:33: note: outer condition: fwdpipe>=0 courier-1.4.1/courier/module.local/localmail.c:458:15: note: identical inner condition: fwdpipe>=0 courier-1.4.1/courier/module.local/localmail.c:467:15: style: Condition 'msgpipe>=0' is always true [knownConditionTrueFalse] courier-1.4.1/courier/module.local/localmail.c:451:17: note: Assuming that condition 'msgpipe>=0' is not redundant courier-1.4.1/courier/module.local/localmail.c:461:36: note: Assuming condition is false courier-1.4.1/courier/module.local/localmail.c:467:15: note: Condition 'msgpipe>=0' is always true courier-1.4.1/courier/module.local/preline.c:26:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/preline.c:47:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.local/preline.c:45:11: style: Condition 'argc==1' is always false [knownConditionTrueFalse] courier-1.4.1/courier/module.local/preline.c:40:11: note: Assuming that condition 'argc<=1' is not redundant courier-1.4.1/courier/module.local/preline.c:45:11: note: Condition 'argc==1' is always false courier-1.4.1/courier/module.local/preline.c:34:7: style: Variable 'env' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.uucp/uucp.c:64:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILGID [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucp.c:143:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucp.c:178:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_VERP [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucp.c:308:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_DELDEFERRED [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucp.c:52:6: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/courier/module.uucp/uucp.c:376:25: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.uucp/uucp.c:396:25: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.uucp/uucp.c:483:20: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/module.uucp/uucp.c:402:17: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/courier/module.uucp/uucp.c:399:11: note: Assuming allocation function fails courier-1.4.1/courier/module.uucp/uucp.c:399:11: note: Assignment 's=malloc(strlen(p->host)+sizeof("!rmail"))', assigned value is 0 courier-1.4.1/courier/module.uucp/uucp.c:402:17: note: Null pointer dereference courier-1.4.1/courier/module.uucp/uucp.c:122:3: style: Redundant assignment of 'n' to itself. [selfAssignment] courier-1.4.1/courier/module.uucp/uucp.c:75:8: style: Local variable 'pid' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.uucp/uucp.c:99:12: note: Shadowed declaration courier-1.4.1/courier/module.uucp/uucp.c:75:8: note: Shadow variable courier-1.4.1/courier/module.uucp/uucp.c:356:30: style: Local variable 's' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.uucp/uucp.c:286:7: note: Shadowed declaration courier-1.4.1/courier/module.uucp/uucp.c:356:30: note: Shadow variable courier-1.4.1/courier/module.uucp/uucp.c:413:15: style: Local variable 's' shadows outer variable [shadowVariable] courier-1.4.1/courier/module.uucp/uucp.c:356:30: note: Shadowed declaration courier-1.4.1/courier/module.uucp/uucp.c:413:15: note: Shadow variable courier-1.4.1/courier/module.uucp/uucp.c:160:17: style: Variable 'hostt' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.uucp/uucp.c:241:12: style: Parameter 'reciparray' can be declared as pointer to const [constParameterPointer] courier-1.4.1/courier/module.uucp/uucp.c:356:8: style: Variable 'argenv' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/module.uucp/uucp.c:122:3: style: Variable 'n' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/module.uucp/uucpstub.c:49:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucpstub.c:84:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_HEADER [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucpstub.c:420:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RW_VERIFY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/module.uucp/uucpstub.c:280:2: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/courier/module.uucp/uucpstub.c:111:9: warning: Either the condition 'r' is redundant or there is possible null pointer dereference: *q. [nullPointerRedundantCheck] courier-1.4.1/courier/module.uucp/uucpstub.c:118:7: note: Assuming that condition 'r' is not redundant courier-1.4.1/courier/module.uucp/uucpstub.c:112:6: note: Assignment to 'r=*q' courier-1.4.1/courier/module.uucp/uucpstub.c:111:9: note: Null pointer dereference courier-1.4.1/courier/module.uucp/uucpstub.c:254:22: style: Variable 'r' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail-esmtpd-wrapper.c:53:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/sendmail.c:140:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/sendmail.c:222:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/sendmail.c:285:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/sendmail.c:387:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/sendmail.c:51:7: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] courier-1.4.1/courier/sendmail.c:48:6: style: Condition 'first_pwd' is always true [knownConditionTrueFalse] courier-1.4.1/courier/sendmail.c:46:15: note: Assignment 'first_pwd=1', assigned value is 1 courier-1.4.1/courier/sendmail.c:48:6: note: Condition 'first_pwd' is always true courier-1.4.1/courier/sendmail.c:142:8: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/sendmail.c:131:7: note: Shadowed declaration courier-1.4.1/courier/sendmail.c:142:8: note: Shadow variable courier-1.4.1/courier/sendmail.c:248:8: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/sendmail.c:242:7: note: Shadowed declaration courier-1.4.1/courier/sendmail.c:248:8: note: Shadow variable courier-1.4.1/courier/sendmail.c:258:9: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/courier/sendmail.c:243:13: note: Shadowed declaration courier-1.4.1/courier/sendmail.c:258:9: note: Shadow variable courier-1.4.1/courier/sendmail.c:460:6: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/courier/sendmail.c:382:5: note: Shadowed declaration courier-1.4.1/courier/sendmail.c:460:6: note: Shadow variable courier-1.4.1/courier/sendmail.c:114:16: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail.c:287:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail.c:430:17: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail.c:431:8: style: Variable 'uu_machine' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail.c:431:21: style: Variable 'uu_user' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/sendmail.c:50:12: style: Variable 'first_pwd' is assigned a value that is never used. [unreadVariable] courier-1.4.1/courier/showconfig.C:171:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:210:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:224:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:274:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:290:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:307:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/showconfig.C:340:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/showconfig.C:279:3: portability: %u in format string (no. 1) requires 'unsigned int' but the argument type is 'int {aka signed int}'. [invalidPrintfArgType_uint] courier-1.4.1/courier/showconfig.C:295:3: portability: %u in format string (no. 1) requires 'unsigned int' but the argument type is 'int {aka signed int}'. [invalidPrintfArgType_uint] courier-1.4.1/courier/showconfig.C:338:4: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/showconfig.C:274:13: style: The scope of the variable 'buf' can be reduced. [variableScope] courier-1.4.1/courier/showconfig.C:290:13: style: The scope of the variable 'buf' can be reduced. [variableScope] courier-1.4.1/courier/submit.C:2736:20: error: There is an unknown macro here somewhere. Configuration is required. If TMPDIR is a macro then please configure it. [unknownMacro] courier-1.4.1/courier/submit2.C:114:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_VHOST [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:241:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMCTLFILE_RECEIPIENT [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:274:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:347:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:489:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:498:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:584:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:653:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:899:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:943:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:966:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:1098:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:1128:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::num_control_files_created' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::rcptcount' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::ctlinodenum' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::ctlpid' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::ctltimestamp' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::frommta' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::bytecount' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::sizelimit' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::diskfull' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::diskspacecheck' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:63:13: warning: Member variable 'SubmitFile::sending_module' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/submit2.C:898:23: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/submit2.C:646:28: style: The scope of the variable 'rwmode' can be reduced. [variableScope] courier-1.4.1/courier/submit2.C:912:13: style: The scope of the variable 'p' can be reduced. [variableScope] courier-1.4.1/courier/submit2.C:130:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/submit2.C:105:14: note: Shadowed declaration courier-1.4.1/courier/submit2.C:130:15: note: Shadow variable courier-1.4.1/courier/submit2.C:810:17: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/courier/submit2.C:648:10: note: Shadowed declaration courier-1.4.1/courier/submit2.C:810:17: note: Shadow variable courier-1.4.1/courier/submit2.C:1062:17: performance: Function parameter 'host' should be passed by const reference. [passedByValue] courier-1.4.1/courier/submit2.C:1063:17: performance: Function parameter 'address' should be passed by const reference. [passedByValue] courier-1.4.1/courier/submit2.C:316:20: style: Variable 'p' can be declared as reference to const [constVariableReference] courier-1.4.1/courier/submit2.C:382:5: performance: Inefficient constructor call: container 'filename' is assigned a partial copy of itself. Use erase() or resize() instead. [uselessCallsConstructor] courier-1.4.1/courier/submit2.C:475:4: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] courier-1.4.1/courier/submit2.C:509:4: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] courier-1.4.1/courier/submit3.C:56:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/submitmkdir.c:23:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TMPDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/testmxlookup.c:40:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/testmxlookup.c:149:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/testmxlookup.c:31:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/testmxlookup.c:30:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/courier/testmxlookup.c:28:15: note: Assuming allocation function fails courier-1.4.1/courier/testmxlookup.c:28:15: note: Assignment 'q=malloc(strlen(p)+1)', assigned value is 0 courier-1.4.1/courier/testmxlookup.c:30:9: note: Null pointer dereference courier-1.4.1/courier/testtrack.c:58:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/libs/addrlower.c:116:25: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/courier/libs/addrlower.c:114:31: note: Assuming allocation function fails courier-1.4.1/courier/libs/addrlower.c:114:31: note: Assignment 's=strdup("locallowercase")', assigned value is 0 courier-1.4.1/courier/libs/addrlower.c:116:25: note: Null pointer dereference courier-1.4.1/courier/webmlm.c:28:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlm.c:71:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/courier/webmlmd.C:189:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:327:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:344:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:349:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:354:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:359:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:384:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:397:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:419:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:440:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:567:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rfc2047_qp_allow_word [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:768:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:786:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:803:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:885:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:1025:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:1139:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:1231:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:1259:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DATADIR [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmd.C:225:25: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/webmlmd.C:322:1: style:inconclusive: Function 'emit_lists' argument 1 names different: declaration 'dummy' definition 'args'. [funcArgNamesDifferent] courier-1.4.1/courier/webmlmd.H:19:42: note: Function 'emit_lists' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:322:1: note: Function 'emit_lists' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:342:1: style:inconclusive: Function 'emit_list_name' argument 1 names different: declaration 'dummy' definition 'args'. [funcArgNamesDifferent] courier-1.4.1/courier/webmlmd.H:20:46: note: Function 'emit_list_name' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:342:1: note: Function 'emit_list_name' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:347:1: style:inconclusive: Function 'emit_list_descr' argument 1 names different: declaration 'dummy' definition 'args'. [funcArgNamesDifferent] courier-1.4.1/courier/webmlmd.H:21:47: note: Function 'emit_list_descr' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:347:1: note: Function 'emit_list_descr' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:352:1: style:inconclusive: Function 'emit_list_url' argument 1 names different: declaration 'dummy' definition 'args'. [funcArgNamesDifferent] courier-1.4.1/courier/webmlmd.H:22:45: note: Function 'emit_list_url' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:352:1: note: Function 'emit_list_url' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:357:1: style:inconclusive: Function 'emit_repeat_url' argument 1 names different: declaration 'dummy' definition 'args'. [funcArgNamesDifferent] courier-1.4.1/courier/webmlmd.H:23:47: note: Function 'emit_repeat_url' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:357:1: note: Function 'emit_repeat_url' argument 1 names different: declaration 'dummy' definition 'args'. courier-1.4.1/courier/webmlmd.C:587:22: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/webmlmd.C:459:9: note: Shadowed declaration courier-1.4.1/courier/webmlmd.C:587:22: note: Shadow variable courier-1.4.1/courier/webmlmd.C:607:22: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/courier/webmlmd.C:459:9: note: Shadowed declaration courier-1.4.1/courier/webmlmd.C:607:22: note: Shadow variable courier-1.4.1/courier/webmlmdcmlm.H:47:26: performance: Function parameter 'extension' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdcmlm.H:48:19: performance: Function parameter 'sender' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdcmlm.H:49:19: performance: Function parameter 'command' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:254:35: performance: Function parameter 'listdir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:255:21: performance: Function parameter 'option' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:282:35: performance: Function parameter 'option' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:287:39: performance: Function parameter 'dir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:287:56: performance: Function parameter 'option' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:298:39: performance: Function parameter 'option' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:303:37: performance: Function parameter 'dir' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:317:37: performance: Function parameter 'dirbasename' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:365:16: performance: Function parameter 'default_option' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:900:18: performance: Function parameter 'errmsg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:909:38: performance: Function parameter 'ext' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:952:38: performance: Function parameter 'admin_path' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:1045:38: performance: Function parameter 'list_name' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:1216:37: performance: Function parameter 'list_name' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:1217:16: performance: Function parameter 'path_info' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmd.C:882:43: style: Parameter 'parms' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/webmlmd.C:128:29: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'init_dirs' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/webmlmd.C:249:38: note: You might need to cast the function pointer here courier-1.4.1/courier/webmlmd.C:128:29: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/courier/webmlmdcmlm.C:90:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFD [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdcmlm.C:173:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdcmlm.C:203:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdcmlm.C:149:18: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/webmlmdcmlm.C:53:30: performance: Function parameter 'extension' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdcmlm.C:54:16: performance: Function parameter 'sender' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:159:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmddirs.C:40:66: performance: Function parameter 'a' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:41:24: performance: Function parameter 'b' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:78:61: performance: Function parameter 'a' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:79:19: performance: Function parameter 'b' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:104:64: performance: Function parameter 'a' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmddirs.C:104:79: performance: Function parameter 'b' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:143:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdmod.C:191:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdmod.C:232:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdmod.C:326:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdmod.C:85:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/courier/webmlmdmod.C:168:32: style: C-style pointer casting [cstyleCast] courier-1.4.1/courier/webmlmdmod.C:218:9: style: The scope of the variable 'cnt' can be reduced. [variableScope] courier-1.4.1/courier/webmlmdmod.C:52:46: performance: Function parameter 'n' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:73:56: performance: Function parameter 'curfilename' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:149:72: performance: Function parameter 'name' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:277:48: performance: Function parameter 'filename' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:304:48: performance: Function parameter 'filename' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:306:20: performance: Function parameter 'msg' should be passed by const reference. [passedByValue] courier-1.4.1/courier/webmlmdmod.C:149:54: style: Parameter 'args' can be declared as reference to const [constParameterReference] courier-1.4.1/courier/webmlmdmod.C:79:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/courier/webmlmdmod.C:182:50: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'get_textlink' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/courier/webmlmdmod.C:270:26: note: You might need to cast the function pointer here courier-1.4.1/courier/webmlmdmod.C:182:50: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/courier/webmlmdsublist.C:44:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:129:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:214:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:287:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable flush [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:313:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:359:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:396:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:582:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/courier/webmlmdsublist.C:198:11: warning: Member variable 'WSubList::idxEntrySize' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/courier/webmlmdsublist.C:70:7: error: Return value of allocation function 'open' is not stored. [leakReturnValNotUsed] courier-1.4.1/courier/webmlmdsublist.C:421:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/courier/webmlmdsublist.C:368:14: note: Shadowed declaration courier-1.4.1/courier/webmlmdsublist.C:421:9: note: Shadow variable courier-1.4.1/courier/webmlmdsublist.C:339:22: performance: Function parameter 'info_text' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.c:55:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/bdbobj/bdbobj.c:43:4: warning:inconclusive: Found suspicious operator '*', result is not used. [constStatement] courier-1.4.1/libs/bdbobj/bdbobj.c:203:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/bdbobj/bdbobj.c:291:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/bdbobj/bdbobj2.c:22:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_FIRST [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/bdbobj/bdbobj2.c:62:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NEXT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/bdbobj/testbdb.C:92:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/bdbobj/bdbobj.h:76:6: style:inconclusive: Technically the member function 'BDbObj::IsOpen' can be const. [functionConst] courier-1.4.1/libs/bdbobj/testbdb.C:21:28: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/testbdb.C:22:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/testbdb.C:49:17: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/testbdb.C:56:16: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/testbdb.C:57:14: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/testbdb.C:72:17: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/bdbobj/bdbobj.h:71:23: performance: Function parameter 'filename' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:79:32: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:79:49: performance: Function parameter 'mode' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:92:26: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:97:26: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:102:25: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:102:42: performance: Function parameter 'val' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/bdbobj.h:102:59: performance: Function parameter 'mode' should be passed by const reference. [passedByValue] courier-1.4.1/libs/bdbobj/testbdb.C:6:22: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/cgi/cgi.c:729:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgi.c:824:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgi.c:202:3: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:202:3: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:204:3: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:204:3: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:205:3: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:200:14: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:205:3: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:379:2: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:379:2: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:380:2: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:380:2: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:381:6: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:381:6: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:384:2: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:384:2: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:385:2: warning: If memory allocation fails, then there is a possible null pointer dereference: argp [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgi.c:377:13: note: Assignment 'argp=malloc(sizeof(*cgi_arglist))', assigned value is 0 courier-1.4.1/libs/cgi/cgi.c:385:2: note: Null pointer dereference courier-1.4.1/libs/cgi/cgi.c:654:52: style:inconclusive: Function 'cgi_set_cookie_url' argument 1 names different: declaration 'i' definition 'cookie_info'. [funcArgNamesDifferent] courier-1.4.1/libs/cgi/cgi.h:94:59: note: Function 'cgi_set_cookie_url' argument 1 names different: declaration 'i' definition 'cookie_info'. courier-1.4.1/libs/cgi/cgi.c:654:52: note: Function 'cgi_set_cookie_url' argument 1 names different: declaration 'i' definition 'cookie_info'. courier-1.4.1/libs/cgi/cgicookie.c:43:11: warning: If memory allocation fails, then there is a possible null pointer dereference: buf [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgicookie.c:41:14: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgicookie.c:41:14: note: Assignment 'buf=malloc(i+1)', assigned value is 0 courier-1.4.1/libs/cgi/cgicookie.c:43:11: note: Null pointer dereference courier-1.4.1/libs/cgi/cgicookie.c:44:4: warning: If memory allocation fails, then there is a possible null pointer dereference: buf [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgicookie.c:41:14: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgicookie.c:41:14: note: Assignment 'buf=malloc(i+1)', assigned value is 0 courier-1.4.1/libs/cgi/cgicookie.c:44:4: note: Null pointer dereference courier-1.4.1/libs/cgi/cgicookie.c:57:3: warning: If memory allocation fails, then there is a possible null pointer dereference: buf [nullPointerOutOfMemory] courier-1.4.1/libs/cgi/cgicookie.c:55:12: note: Assuming allocation function fails courier-1.4.1/libs/cgi/cgicookie.c:55:12: note: Assignment 'buf=malloc(1)', assigned value is 0 courier-1.4.1/libs/cgi/cgicookie.c:57:3: note: Null pointer dereference courier-1.4.1/libs/cgi/cgidaemon.c:51:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemon.c:65:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemon.c:72:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemon.c:232:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemon.c:308:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:74:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:100:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:175:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:268:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:339:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:366:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/cgi/cgidaemond.c:302:18: style: Condition 'read_environ(cfd)' is always true [knownConditionTrueFalse] courier-1.4.1/libs/cgi/cgidaemond.c:302:18: note: Calling function 'read_environ' returns 1 courier-1.4.1/libs/cgi/cgidaemond.c:302:18: note: Condition 'read_environ(cfd)' is always true courier-1.4.1/libs/cgi/cgidaemond.c:279:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] courier-1.4.1/libs/cgi/cgidaemond.c:60:37: style:inconclusive: Function 'start_daemon' argument 1 names different: declaration 'lockfilename' definition 'lockfile'. [funcArgNamesDifferent] courier-1.4.1/libs/cgi/cgidaemond.c:35:37: note: Function 'start_daemon' argument 1 names different: declaration 'lockfilename' definition 'lockfile'. courier-1.4.1/libs/cgi/cgidaemond.c:60:37: note: Function 'start_daemon' argument 1 names different: declaration 'lockfilename' definition 'lockfile'. courier-1.4.1/libs/cgi/cgidaemond.c:165:56: style:inconclusive: Function 'prefork' argument 3 names different: declaration 'ndaemos' definition 'ndaemons'. [funcArgNamesDifferent] courier-1.4.1/libs/cgi/cgidaemond.c:88:56: note: Function 'prefork' argument 3 names different: declaration 'ndaemos' definition 'ndaemons'. courier-1.4.1/libs/cgi/cgidaemond.c:165:56: note: Function 'prefork' argument 3 names different: declaration 'ndaemos' definition 'ndaemons'. courier-1.4.1/libs/cgi/cgidaemond.c:217:48: style:inconclusive: Function 'run_daemon' argument 3 names different: declaration 'connfd' definition 'acceptedfd'. [funcArgNamesDifferent] courier-1.4.1/libs/cgi/cgidaemond.c:37:48: note: Function 'run_daemon' argument 3 names different: declaration 'connfd' definition 'acceptedfd'. courier-1.4.1/libs/cgi/cgidaemond.c:217:48: note: Function 'run_daemon' argument 3 names different: declaration 'connfd' definition 'acceptedfd'. courier-1.4.1/libs/cgi/cgidaemond.c:275:8: style: Local variable 'dummy' shadows outer argument [shadowArgument] courier-1.4.1/libs/cgi/cgidaemond.c:218:41: note: Shadowed declaration courier-1.4.1/libs/cgi/cgidaemond.c:275:8: note: Shadow variable courier-1.4.1/libs/cgi/cgidaemond.c:165:39: style: Parameter 'allpipes' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/cgi/cgidaemond.c:166:11: style: Parameter 'termpipe' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/cgi/cgidaemond.c:362:8: style: Variable 'passfd' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/cgi/cgihttpscriptptr.c:35:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/cgi/cgihttpsscriptptr.c:34:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/cgi/cgiinput.c:134:15: style:inconclusive: Function 'cgi_input' argument 5 names different: declaration 'opts' definition 'flags'. [funcArgNamesDifferent] courier-1.4.1/libs/cgi/cgi.h:117:22: note: Function 'cgi_input' argument 5 names different: declaration 'opts' definition 'flags'. courier-1.4.1/libs/cgi/cgiinput.c:134:15: note: Function 'cgi_input' argument 5 names different: declaration 'opts' definition 'flags'. courier-1.4.1/libs/gdbmobj/gdbmobj.c:43:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_READER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gdbmobj/gdbmobj.c:97:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_REPLACE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gdbmobj/testgdbm.C:93:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gdbmobj/gdbmobj.h:62:6: style:inconclusive: Technically the member function 'GdbmObj::IsOpen' can be const. [functionConst] courier-1.4.1/libs/gdbmobj/testgdbm.C:22:28: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/testgdbm.C:23:12: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/testgdbm.C:50:17: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/testgdbm.C:57:16: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/testgdbm.C:58:14: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/testgdbm.C:73:17: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/gdbmobj/gdbmobj.h:57:23: performance: Function parameter 'filename' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:65:32: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:65:49: performance: Function parameter 'mode' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:78:26: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:83:26: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:88:24: performance: Function parameter 'key' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:88:41: performance: Function parameter 'val' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/gdbmobj.h:88:58: performance: Function parameter 'mode' should be passed by const reference. [passedByValue] courier-1.4.1/libs/gdbmobj/testgdbm.C:7:22: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/gpglib/fork.c:77:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/fork.c:185:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/fork.c:279:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/fork.c:231:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/fork.c:195:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/fork.c:231:8: note: Shadow variable courier-1.4.1/libs/gpglib/fork.c:243:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/fork.c:195:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/fork.c:243:8: note: Shadow variable courier-1.4.1/libs/gpglib/fork.c:258:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/fork.c:195:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/fork.c:258:8: note: Shadow variable courier-1.4.1/libs/gpglib/fork.c:331:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/fork.c:296:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/fork.c:331:8: note: Shadow variable courier-1.4.1/libs/gpglib/fork.c:346:8: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/fork.c:296:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/fork.c:346:8: note: Shadow variable courier-1.4.1/libs/gpglib/genkey.c:161:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:61:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:124:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:194:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:320:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1120:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1394:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1457:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1590:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1878:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:2052:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:2193:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:2232:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/gpg.c:1152:3: error: Resource leak: signed_file_fp [resourceLeak] courier-1.4.1/libs/gpglib/gpg.c:895:11: style: Local variable 'errflag' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/gpg.c:801:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/gpg.c:895:11: note: Shadow variable courier-1.4.1/libs/gpglib/gpg.c:930:11: style: Local variable 'errflag' shadows outer variable [shadowVariable] courier-1.4.1/libs/gpglib/gpg.c:801:7: note: Shadowed declaration courier-1.4.1/libs/gpglib/gpg.c:930:11: note: Shadow variable courier-1.4.1/libs/gpglib/gpg.c:1121:17: style: Variable 'h2' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/gpglib/import.c:30:54: style:inconclusive: Function 'libmail_gpg_import_start' argument 2 names different: declaration 'issecret' definition 'secret'. [funcArgNamesDifferent] courier-1.4.1/libs/gpglib/gpglib.h:172:54: note: Function 'libmail_gpg_import_start' argument 2 names different: declaration 'issecret' definition 'secret'. courier-1.4.1/libs/gpglib/import.c:30:54: note: Function 'libmail_gpg_import_start' argument 2 names different: declaration 'issecret' definition 'secret'. courier-1.4.1/libs/gpglib/libgpg.c:65:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/libgpg.c:111:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GPG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/list.c:505:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/list.c:433:10: warning: Either the condition '!line' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/gpglib/list.c:269:6: note: Assuming that condition '!line' is not redundant courier-1.4.1/libs/gpglib/list.c:296:3: note: p is assigned 'line' here. courier-1.4.1/libs/gpglib/list.c:297:24: note: Calling function 'nextword', 1st argument 'p' value is 0 courier-1.4.1/libs/gpglib/list.c:433:10: note: Null pointer dereference courier-1.4.1/libs/gpglib/list.c:108:67: style: Parameter 'vp' can be declared as pointer to const. However it seems that 'libmail_gpg_line_stderr' is a callback function, if 'vp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/gpglib/list.c:211:9: note: You might need to cast the function pointer here courier-1.4.1/libs/gpglib/list.c:108:67: note: Parameter 'vp' can be declared as pointer to const courier-1.4.1/libs/gpglib/list.c:236:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/gpglib/mimegpg.c:18:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpg.c:24:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpg.c:53:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpg.c:75:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpg.c:88:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpg.c:44:15: style: Checking if unsigned expression 'buf_size' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/gpglib/mimegpgfork.c:70:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:202:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:336:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:397:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GPG_CHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:428:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GPG_CHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:444:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GPG_CHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/mimegpgfork.c:200:71: style: Parameter 'fdr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/gpglib/mimegpgfork.c:437:64: style: Parameter 'gpgfi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/gpglib/mimegpgfork.c:442:65: style: Parameter 'gpgfi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/gpglib/mimegpgstack.c:46:71: style: Parameter 's' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/gpglib/sign.c:44:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/tempname.c:59:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/testgpg.c:23:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/testgpg.c:32:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/testgpg.c:60:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/gpglib/testgpg.c:106:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/http11/contentlanguage.c:250:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045CHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/http11/contentlanguage.c:78:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/http11/contentlanguage.c:152:18: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/http11/contentlanguage.c:212:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/http11/contentlanguage.c:270:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/http11/contentlanguage.c:270:47: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/http11/contentlanguage.c:284:4: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/http11/contentlanguage.c:190:10: warning: Either the condition '(bestlang=malloc(sizeof(defaultlang)))==0' is redundant or there is possible null pointer dereference: bestlang. [nullPointerRedundantCheck] courier-1.4.1/libs/http11/contentlanguage.c:189:46: note: Assuming that condition '(bestlang=malloc(sizeof(defaultlang)))==0' is not redundant courier-1.4.1/libs/http11/contentlanguage.c:190:10: note: Null pointer dereference courier-1.4.1/libs/http11/contentlanguage.c:209:9: style: Checking if unsigned expression 'n' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/http11/contentlanguage.c:49:60: style:inconclusive: Function 'http11_open_langfile' argument 2 names different: declaration 'acc_lang' definition 'subdir'. [funcArgNamesDifferent] courier-1.4.1/libs/http11/http11.h:60:60: note: Function 'http11_open_langfile' argument 2 names different: declaration 'acc_lang' definition 'subdir'. courier-1.4.1/libs/http11/contentlanguage.c:49:60: note: Function 'http11_open_langfile' argument 2 names different: declaration 'acc_lang' definition 'subdir'. courier-1.4.1/libs/http11/contentlanguage.c:217:69: style:inconclusive: Function 'http11_content_language' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. [funcArgNamesDifferent] courier-1.4.1/libs/http11/http11.h:48:69: note: Function 'http11_content_language' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:217:69: note: Function 'http11_content_language' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:224:67: style:inconclusive: Function 'http11_content_locale' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. [funcArgNamesDifferent] courier-1.4.1/libs/http11/http11.h:51:67: note: Function 'http11_content_locale' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:224:67: note: Function 'http11_content_locale' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:232:71: style:inconclusive: Function 'http11_content_ispelldict' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. [funcArgNamesDifferent] courier-1.4.1/libs/http11/http11.h:54:71: note: Function 'http11_content_ispelldict' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:232:71: note: Function 'http11_content_ispelldict' argument 2 names different: declaration 'cont_lang' definition 'acc_lang'. courier-1.4.1/libs/http11/contentlanguage.c:130:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/authenticate_auth.c:47:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCKET_TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/authenticate_auth.c:30:20: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/authenticate_auth.c:79:19: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetch.c:149:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:158:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:172:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:303:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_SEEN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:456:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_ERR8BITHEADER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:719:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1045:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1230:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1335:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1395:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1467:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:1595:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetch.c:171:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/fetch.c:167:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/fetch.c:167:16: note: Assignment 'p=malloc(strlen(fn)+20)', assigned value is 0 courier-1.4.1/libs/imap/fetch.c:171:9: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:172:17: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/fetch.c:167:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/fetch.c:167:16: note: Assignment 'p=malloc(strlen(fn)+20)', assigned value is 0 courier-1.4.1/libs/imap/fetch.c:172:17: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:173:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/fetch.c:167:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/fetch.c:167:16: note: Assignment 'p=malloc(strlen(fn)+20)', assigned value is 0 courier-1.4.1/libs/imap/fetch.c:173:9: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:193:23: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/imap/fetch.c:190:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/fetch.c:190:10: note: Assignment 'q=malloc(strlen(current_mailbox)+strlen(mi->filename)+sizeof("/cur/"))', assigned value is 0 courier-1.4.1/libs/imap/fetch.c:193:23: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:194:23: warning: Either the condition '!r' is redundant or there is possible null pointer dereference: r. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetch.c:192:12: note: Assuming that condition '!r' is not redundant courier-1.4.1/libs/imap/fetch.c:194:23: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:195:13: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/imap/fetch.c:190:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/fetch.c:190:10: note: Assignment 'q=malloc(strlen(current_mailbox)+strlen(mi->filename)+sizeof("/cur/"))', assigned value is 0 courier-1.4.1/libs/imap/fetch.c:195:13: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:195:16: warning: Either the condition '!r' is redundant or there is possible null pointer dereference: r. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetch.c:192:12: note: Assuming that condition '!r' is not redundant courier-1.4.1/libs/imap/fetch.c:195:16: note: Null pointer dereference courier-1.4.1/libs/imap/fetch.c:154:24: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/fetch.c:156:29: style: Variable 'mi' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetch.c:546:29: style: Variable 'km' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetch.c:577:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetch.c:600:23: style: Parameter 'fp' can be declared as pointer to const. However it seems that 'uid' is a callback function, if 'fp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/fetch.c:432:15: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/fetch.c:600:23: note: Parameter 'fp' can be declared as pointer to const courier-1.4.1/libs/imap/fetch.c:600:45: style: Parameter 'fi' can be declared as pointer to const. However it seems that 'uid' is a callback function, if 'fi' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/fetch.c:432:15: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/fetch.c:600:45: note: Parameter 'fi' can be declared as pointer to const courier-1.4.1/libs/imap/fetch.c:601:23: style: Parameter 'i' can be declared as pointer to const. However it seems that 'uid' is a callback function, if 'i' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/fetch.c:432:15: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/fetch.c:601:23: note: Parameter 'i' can be declared as pointer to const courier-1.4.1/libs/imap/fetch.c:602:18: style: Parameter 'mimep' can be declared as pointer to const. However it seems that 'uid' is a callback function, if 'mimep' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/fetch.c:432:15: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/fetch.c:602:18: note: Parameter 'mimep' can be declared as pointer to const courier-1.4.1/libs/imap/fetch.c:721:7: style: Variable 'rbufptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetch.c:1015:48: style: Parameter 'fi' can be declared as pointer to const. However it seems that 'dofetchheadermime' is a callback function, if 'fi' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/fetch.c:858:6: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/fetch.c:1015:48: note: Parameter 'fi' can be declared as pointer to const courier-1.4.1/libs/imap/fetch.c:983:11: warning: Uninitialized variable: buf [uninitvar] courier-1.4.1/libs/imap/fetch.c:921:9: note: Assuming condition is false courier-1.4.1/libs/imap/fetch.c:983:11: note: Uninitialized variable: buf courier-1.4.1/libs/imap/fetch.c:1386:11: warning: Uninitialized variable: buf [uninitvar] courier-1.4.1/libs/imap/fetch.c:1363:9: note: Assuming condition is false courier-1.4.1/libs/imap/fetch.c:1386:11: note: Uninitialized variable: buf courier-1.4.1/libs/imap/fetch.c:1456:11: warning: Uninitialized variable: buf [uninitvar] courier-1.4.1/libs/imap/fetch.c:1433:9: note: Assuming condition is false courier-1.4.1/libs/imap/fetch.c:1456:11: note: Uninitialized variable: buf courier-1.4.1/libs/imap/fetch.c:1515:11: warning: Uninitialized variable: buf [uninitvar] courier-1.4.1/libs/imap/fetch.c:1488:9: note: Assuming condition is false courier-1.4.1/libs/imap/fetch.c:1515:11: note: Uninitialized variable: buf courier-1.4.1/libs/imap/fetchinfo.c:34:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokentype [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetchinfo.c:166:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokentype [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/fetchinfo.c:39:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:39:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:40:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:40:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:41:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:41:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:42:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:42:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:43:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:43:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:46:14: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:38:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:46:14: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:172:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:171:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:172:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:173:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:171:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:173:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:174:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:171:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:174:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:175:3: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/fetchinfo.c:171:7: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/fetchinfo.c:175:3: note: Null pointer dereference courier-1.4.1/libs/imap/fetchinfo.c:70:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/fetchinfo.c:161:19: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/imapd.c:3354:13: error: There is an unknown macro here somewhere. Configuration is required. If ACL_CREATE is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/imap/imaplogin.c:76:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:168:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:291:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:441:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:598:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:630:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaplogin.c:189:7: portability: Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'. [prohibitedgetservbynameCalled] courier-1.4.1/libs/imap/imaplogin.c:625:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/imaplogin.c:627:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/imaplogin.c:683:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/imaplogin.c:685:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/imaplogin.c:134:2: portability: fflush() called on input stream 'stdin' may result in undefined behaviour on non-linux systems. [fflushOnInputStream] courier-1.4.1/libs/imap/imaplogin.c:186:20: style: Variable 'se' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/imaplogin.c:326:20: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/imapscanclient.c:306:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:345:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:372:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHAREDSUBDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:912:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:923:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:1003:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:1064:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapscanclient.c:583:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/imapscanclient.c:659:22: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/imapscanclient.c:684:23: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/imapscanclient.c:407:9: warning: Either the condition '(fd=maildir_tmpcreate_fd(&createInfo))<0' is redundant or close() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] courier-1.4.1/libs/imap/imapscanclient.c:403:46: note: Assuming that condition '(fd=maildir_tmpcreate_fd(&createInfo))<0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:407:9: note: Invalid argument courier-1.4.1/libs/imap/imapscanclient.c:240:13: warning: Identical inner 'return' condition is always true. [identicalInnerCondition] courier-1.4.1/libs/imap/imapscanclient.c:239:8: note: outer condition: ai-bi courier-1.4.1/libs/imap/imapscanclient.c:240:13: note: identical inner condition: ai-bi courier-1.4.1/libs/imap/imapscanclient.c:208:6: style: Condition 'rc' is always false [knownConditionTrueFalse] courier-1.4.1/libs/imap/imapscanclient.c:202:29: note: Calling function 'do_imapscan_maildir2' returns 0 courier-1.4.1/libs/imap/imapscanclient.c:202:29: note: Assignment 'rc=do_imapscan_maildir2(ii->scaninfo,ii->dir,ii->leavenew,ii->ro,ii->uidplus)', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:208:6: note: Condition 'rc' is always false courier-1.4.1/libs/imap/imapscanclient.c:821:5: error: Used file that is not opened. [useClosedFile] courier-1.4.1/libs/imap/imapscanclient.c:119:3: warning: Either the condition '!m' is redundant or there is possible null pointer dereference: m. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:116:7: note: Assuming that condition '!m' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:119:3: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:228:23: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/imapscanclient.c:225:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/imapscanclient.c:225:15: note: Assignment 'p=malloc(strlen(dir)+strlen(new_or_cur)+2)', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:228:23: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:382:16: warning: If memory allocation fails, then there is a possible null pointer dereference: dbfilepath [nullPointerOutOfMemory] courier-1.4.1/libs/imap/imapscanclient.c:380:19: note: Assuming allocation function fails courier-1.4.1/libs/imap/imapscanclient.c:380:19: note: Assignment 'dbfilepath=malloc(strlen(dir)+sizeof("/"IMAPDB))', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:382:16: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:416:16: warning: If memory allocation fails, then there is a possible null pointer dereference: dbfilepath [nullPointerOutOfMemory] courier-1.4.1/libs/imap/imapscanclient.c:380:19: note: Assuming allocation function fails courier-1.4.1/libs/imap/imapscanclient.c:380:19: note: Assignment 'dbfilepath=malloc(strlen(dir)+sizeof("/"IMAPDB))', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:416:16: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:437:4: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:431:38: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:437:4: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:439:4: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:431:38: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:439:4: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:440:4: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:431:38: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:440:4: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:441:4: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:431:38: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:441:4: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:518:18: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:510:41: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:518:18: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:612:3: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:607:37: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:612:3: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:613:3: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:607:37: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:613:3: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:614:3: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:607:37: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:614:3: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:615:3: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:607:37: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:615:3: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:702:12: warning: If memory allocation fails, then there is a possible null pointer dereference: curname [nullPointerOutOfMemory] courier-1.4.1/libs/imap/imapscanclient.c:695:19: note: Assuming allocation function fails courier-1.4.1/libs/imap/imapscanclient.c:695:19: note: Assignment 'curname=malloc(strlen(newname)+sizeof(MDIRSEP"2,"))', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:702:12: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:703:15: warning: If memory allocation fails, then there is a possible null pointer dereference: curname [nullPointerOutOfMemory] courier-1.4.1/libs/imap/imapscanclient.c:695:19: note: Assuming allocation function fails courier-1.4.1/libs/imap/imapscanclient.c:695:19: note: Assignment 'curname=malloc(strlen(newname)+sizeof(MDIRSEP"2,"))', assigned value is 0 courier-1.4.1/libs/imap/imapscanclient.c:703:15: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:719:5: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:714:43: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:719:5: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:720:5: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:714:43: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:720:5: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:723:5: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:714:43: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:723:5: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:724:5: warning: Either the condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is redundant or there is possible null pointer dereference: newtmpl. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/imapscanclient.c:714:43: note: Assuming that condition '(newtmpl=(struct tempinfo*)malloc(sizeof(struct tempinfo)))==0' is not redundant courier-1.4.1/libs/imap/imapscanclient.c:724:5: note: Null pointer dereference courier-1.4.1/libs/imap/imapscanclient.c:817:48: style: Variable 'need_fclose' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/imap/imapscanclient.c:816:14: note: need_fclose is assigned courier-1.4.1/libs/imap/imapscanclient.c:817:48: note: need_fclose is overwritten courier-1.4.1/libs/imap/imapscanclient.c:88:41: style:inconclusive: Function 'imapscan_init' argument 1 names different: declaration 'p' definition 'i'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/imapscanclient.h:67:41: note: Function 'imapscan_init' argument 1 names different: declaration 'p' definition 'i'. courier-1.4.1/libs/imap/imapscanclient.c:88:41: note: Function 'imapscan_init' argument 1 names different: declaration 'p' definition 'i'. courier-1.4.1/libs/imap/imapscanclient.c:975:34: style:inconclusive: Function 'imapscan_updateKeywords' argument 2 names different: declaration 'newKeywords' definition 'newKeyword'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/imapscanclient.h:82:34: note: Function 'imapscan_updateKeywords' argument 2 names different: declaration 'newKeywords' definition 'newKeyword'. courier-1.4.1/libs/imap/imapscanclient.c:975:34: note: Function 'imapscan_updateKeywords' argument 2 names different: declaration 'newKeywords' definition 'newKeyword'. courier-1.4.1/libs/imap/imapscanclient.c:423:9: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/imapscanclient.c:363:11: note: Shadowed declaration courier-1.4.1/libs/imap/imapscanclient.c:423:9: note: Shadow variable courier-1.4.1/libs/imap/imapscanclient.c:894:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/imapscanclient.c:999:72: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/imaptoken.c:51:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaptoken.c:585:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCKET_TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imaptoken.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] courier-1.4.1/libs/imap/imaptoken.c:146:9: style: Condition 'n>0' is always true [knownConditionTrueFalse] courier-1.4.1/libs/imap/imaptoken.c:139:53: note: Assuming that condition '(n=read(0,buf,bufsiz))<=0' is not redundant courier-1.4.1/libs/imap/imaptoken.c:146:9: note: Condition 'n>0' is always true courier-1.4.1/libs/imap/imaptoken.c:230:66: style: Parameter 'ignore' can be declared as pointer to const. However it seems that 'ignore_output_func' is a callback function, if 'ignore' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/imaptoken.c:364:12: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/imaptoken.c:230:66: note: Parameter 'ignore' can be declared as pointer to const courier-1.4.1/libs/imap/imaptoken.c:243:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/imaptoken.c:615:32: style: Parameter 'tok' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/imapwrite.c:45:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCKET_TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapwrite.c:194:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/imapwrite.c:103:9: style: Condition 'n>l' is always false [knownConditionTrueFalse] courier-1.4.1/libs/imap/imapwrite.c:92:9: note: Assuming that condition 'n>=l' is not redundant courier-1.4.1/libs/imap/imapwrite.c:98:9: note: Assuming condition is false courier-1.4.1/libs/imap/imapwrite.c:103:9: note: Condition 'n>l' is always false courier-1.4.1/libs/imap/mailboxlist.c:113:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:193:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:212:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHAREDSUBDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:344:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_LOOKUP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:422:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:582:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:854:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:1003:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mailboxlist.c:188:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/mailboxlist.c:462:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/mailboxlist.c:461:28: style: Condition 'inbox_dir' is always true [knownConditionTrueFalse] courier-1.4.1/libs/imap/mailboxlist.c:812:2: error: Memory pointed to by 'inbox_name' is freed twice. [doubleFree] courier-1.4.1/libs/imap/mailboxlist.c:801:3: note: Memory pointed to by 'inbox_name' is freed twice. courier-1.4.1/libs/imap/mailboxlist.c:812:2: note: Memory pointed to by 'inbox_name' is freed twice. courier-1.4.1/libs/imap/mailboxlist.c:135:17: warning: Either the condition 'name' is redundant or there is possible null pointer dereference: name. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:162:6: note: Assuming that condition 'name' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:135:17: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:138:42: warning: Either the condition 'name' is redundant or there is possible null pointer dereference: name. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:162:6: note: Assuming that condition 'name' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:138:42: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:140:9: warning: If memory allocation fails, then there is a possible null pointer dereference: pattern [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:138:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:138:16: note: Assignment 'pattern=malloc(strlen(reference)+strlen(name)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:140:9: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:142:12: warning: If memory allocation fails, then there is a possible null pointer dereference: pattern [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:138:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:138:16: note: Assignment 'pattern=malloc(strlen(reference)+strlen(name)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:142:12: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:160:18: warning: Either the condition 'name' is redundant or there is possible null pointer dereference: name. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:162:6: note: Assuming that condition 'name' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:160:18: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:185:19: warning: If memory allocation fails, then there is a possible null pointer dereference: dir [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assignment 'subdir=malloc(strlen(dir)+sizeof("/cur"))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:218:18: note: Calling function 'hasnewmsgs2', 1st argument 'subdir' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:185:19: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:217:16: warning: If memory allocation fails, then there is a possible null pointer dereference: subdir [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assignment 'subdir=malloc(strlen(dir)+sizeof("/cur"))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:217:16: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:255:23: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:683:43: note: Calling function 'add_hier', 2nd argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:255:23: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:259:44: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:683:43: note: Calling function 'add_hier', 2nd argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:255:26: note: Assuming condition is false courier-1.4.1/libs/imap/mailboxlist.c:259:44: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:262:2: warning: Either the condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:259:49: note: Assuming that condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:262:2: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:263:2: warning: Either the condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:259:49: note: Assuming that condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:263:2: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:264:9: warning: Either the condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:259:49: note: Assuming that condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:264:9: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:265:2: warning: Either the condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:259:49: note: Assuming that condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:265:2: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:291:25: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:15: note: Calling function 'folder_entry', 1st argument 'p' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:291:25: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:362:12: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:14: note: Calling function 'hier_entry', 1st argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:362:12: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:364:7: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:14: note: Calling function 'hier_entry', 1st argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:364:7: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:365:3: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:14: note: Calling function 'hier_entry', 1st argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:364:17: note: Assuming condition is false courier-1.4.1/libs/imap/mailboxlist.c:365:3: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:367:3: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:14: note: Calling function 'hier_entry', 1st argument 'n' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:364:17: note: Assuming condition is false courier-1.4.1/libs/imap/mailboxlist.c:367:3: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:409:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:409:16: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:474:10: warning: Either the condition '(p=malloc(strlen(de->d_name)+strlen(inbox_name)+10))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:470:60: note: Assuming that condition '(p=malloc(strlen(de->d_name)+strlen(inbox_name)+10))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:474:10: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:612:15: warning: Either the condition '!n' is redundant or there is possible null pointer dereference: n. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:609:8: note: Assuming that condition '!n' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:612:15: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:633:10: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:628:11: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:628:11: note: Assignment 'q=malloc(strlen(acc_pfix)+(p-skipped_pattern)+1)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:633:10: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:634:11: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:628:11: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:628:11: note: Assignment 'q=malloc(strlen(acc_pfix)+(p-skipped_pattern)+1)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:634:11: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:678:17: warning: If memory allocation fails, then there is a possible null pointer dereference: new_pfix [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:678:17: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:685:10: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:685:10: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:715:17: warning: If memory allocation fails, then there is a possible null pointer dereference: new_pfix [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:710:18: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:710:18: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+1)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:715:17: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:757:46: warning: Either the condition '!n' is redundant or there is possible null pointer dereference: n. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:761:6: note: Assuming that condition '!n' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:757:46: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:764:23: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:761:12: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:764:23: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:764:42: warning: Either the condition '!n' is redundant or there is possible null pointer dereference: n. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:761:6: note: Assuming that condition '!n' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:764:42: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:1003:18: warning: If memory allocation fails, then there is a possible null pointer dereference: name [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:15: note: Calling function 'folder_entry', 1st argument 'p' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:296:21: note: Calling function 'match_mailbox_prep', 1st argument 'folder' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:1003:18: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:1009:14: warning: If memory allocation fails, then there is a possible null pointer dereference: name [nullPointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:15: note: Calling function 'folder_entry', 1st argument 'p' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:296:21: note: Calling function 'match_mailbox_prep', 1st argument 'folder' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:1009:14: note: Null pointer dereference courier-1.4.1/libs/imap/mailboxlist.c:263:20: warning: Either the condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck] courier-1.4.1/libs/imap/mailboxlist.c:259:49: note: Assuming that condition '(p=(struct hierlist*)malloc(sizeof(struct hierlist)+1+strlen(s)))==0' is not redundant courier-1.4.1/libs/imap/mailboxlist.c:263:20: note: Null pointer addition courier-1.4.1/libs/imap/mailboxlist.c:461:25: style: Same expression on both sides of '&&'. [duplicateExpression] courier-1.4.1/libs/imap/mailboxlist.c:126:30: style:inconclusive: Function 'mailbox_scan' argument 1 names different: declaration 'ref' definition 'reference'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/mailboxlist.h:25:30: note: Function 'mailbox_scan' argument 1 names different: declaration 'ref' definition 'reference'. courier-1.4.1/libs/imap/mailboxlist.c:126:30: note: Function 'mailbox_scan' argument 1 names different: declaration 'ref' definition 'reference'. courier-1.4.1/libs/imap/mailboxlist.c:519:20: style:inconclusive: Function 'list_newshared_shortcut' argument 3 names different: declaration 'current_namespace' definition 'acc_pfix'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/mailboxlist.c:504:20: note: Function 'list_newshared_shortcut' argument 3 names different: declaration 'current_namespace' definition 'acc_pfix'. courier-1.4.1/libs/imap/mailboxlist.c:519:20: note: Function 'list_newshared_shortcut' argument 3 names different: declaration 'current_namespace' definition 'acc_pfix'. courier-1.4.1/libs/imap/mailboxlist.c:816:32: style:inconclusive: Function 'do_mailbox_list' argument 1 names different: declaration 'do_lsub' definition 'list_options'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/mailboxlist.c:71:32: note: Function 'do_mailbox_list' argument 1 names different: declaration 'do_lsub' definition 'list_options'. courier-1.4.1/libs/imap/mailboxlist.c:816:32: note: Function 'do_mailbox_list' argument 1 names different: declaration 'do_lsub' definition 'list_options'. courier-1.4.1/libs/imap/mailboxlist.c:816:52: style:inconclusive: Function 'do_mailbox_list' argument 2 names different: declaration 'qq' definition 'pattern'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/mailboxlist.c:71:47: note: Function 'do_mailbox_list' argument 2 names different: declaration 'qq' definition 'pattern'. courier-1.4.1/libs/imap/mailboxlist.c:816:52: note: Function 'do_mailbox_list' argument 2 names different: declaration 'qq' definition 'pattern'. courier-1.4.1/libs/imap/mailboxlist.c:1013:57: style:inconclusive: Function 'match_mailbox' argument 3 names different: declaration 'flags' definition 'list_options'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/mailboxlist.c:178:46: note: Function 'match_mailbox' argument 3 names different: declaration 'flags' definition 'list_options'. courier-1.4.1/libs/imap/mailboxlist.c:1013:57: note: Function 'match_mailbox' argument 3 names different: declaration 'flags' definition 'list_options'. courier-1.4.1/libs/imap/mailboxlist.c:186:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/mailboxlist.c:190:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/mailboxlist.c:457:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/mainloop.c:32:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mainloop.c:145:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/mainloop.c:112:20: style: Variable 'curtoken' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/msgbodystructure.c:167:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/msgbodystructure.c:172:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/msgenvelope.c:29:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/msgenvelope.c:78:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rfc2047_qp_allow_any [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/msgenvelope.c:171:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/msgenvelope.c:73:12: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/msgenvelope.c:68:18: note: Assuming allocation function fails courier-1.4.1/libs/imap/msgenvelope.c:68:18: note: Assignment 'p=malloc(l+1)', assigned value is 0 courier-1.4.1/libs/imap/msgenvelope.c:73:12: note: Null pointer dereference courier-1.4.1/libs/imap/msgenvelope.c:74:4: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/msgenvelope.c:68:18: note: Assuming allocation function fails courier-1.4.1/libs/imap/msgenvelope.c:68:18: note: Assignment 'p=malloc(l+1)', assigned value is 0 courier-1.4.1/libs/imap/msgenvelope.c:74:4: note: Null pointer dereference courier-1.4.1/libs/imap/msgenvelope.c:83:13: warning: Either the condition '!q' is redundant or there is possible null pointer dereference: s. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/msgenvelope.c:80:8: note: Assuming that condition '!q' is not redundant courier-1.4.1/libs/imap/msgenvelope.c:82:5: note: s is assigned 'q' here. courier-1.4.1/libs/imap/msgenvelope.c:83:13: note: Null pointer dereference courier-1.4.1/libs/imap/msgenvelope.c:21:61: style: Parameter 'endhp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/mysignal.c:30:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/outbox.c:71:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/outbox.c:113:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/outbox.c:136:19: warning: If resource allocation fails, then there is a possible null pointer dereference: pipefp [nullPointerOutOfResources] courier-1.4.1/libs/imap/outbox.c:133:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/outbox.c:133:16: note: Assignment 'pipefp=fdopen(pipefd[0],"r")', assigned value is 0 courier-1.4.1/libs/imap/outbox.c:136:19: note: Null pointer dereference courier-1.4.1/libs/imap/outbox.c:143:10: warning: If resource allocation fails, then there is a possible null pointer dereference: pipefp [nullPointerOutOfResources] courier-1.4.1/libs/imap/outbox.c:133:16: note: Assuming allocation function fails courier-1.4.1/libs/imap/outbox.c:133:16: note: Assignment 'pipefp=fdopen(pipefd[0],"r")', assigned value is 0 courier-1.4.1/libs/imap/outbox.c:143:10: note: Null pointer dereference courier-1.4.1/libs/imap/outbox.c:69:29: style: Parameter 'buffer' can be declared as pointer to const. However it seems that 'errlogger' is a callback function, if 'buffer' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/outbox.c:95:39: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/outbox.c:69:29: note: Parameter 'buffer' can be declared as pointer to const courier-1.4.1/libs/imap/pop3dcapa.c:93:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dcapa.c:104:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:147:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_ERR8BITHEADER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:164:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:223:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:422:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:510:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:570:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:604:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:626:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:637:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:722:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:834:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:882:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:909:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:963:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:1158:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3dserver.c:366:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/pop3dserver.c:977:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:998:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1006:21: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1021:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1029:21: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1061:21: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1064:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1075:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3dserver.c:1109:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/pop3dserver.c:142:11: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] courier-1.4.1/libs/imap/pop3dserver.c:137:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:137:15: note: Assignment 'f=fopen(m->filename,"r")', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:142:11: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:143:27: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] courier-1.4.1/libs/imap/pop3dserver.c:137:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:137:15: note: Assignment 'f=fopen(m->filename,"r")', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:143:27: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:928:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:928:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:929:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:929:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:930:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:930:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:931:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:931:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:932:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:932:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:933:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:933:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:934:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:934:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:935:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:935:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:936:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:936:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:937:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:937:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:938:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:938:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:939:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:939:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:940:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:940:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:941:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:941:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:942:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:942:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:943:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:943:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:944:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:944:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:949:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:949:9: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:950:25: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assuming allocation function fails courier-1.4.1/libs/imap/pop3dserver.c:924:10: note: Assignment 'p=malloc(strlen(authaddr)+strlen(remoteip)+strlen(remoteport)+strlen(disc)+strlen(num1)+strlen(num2)+strlen(num3)+strlen(numAR)+strlen(numAS)+200)', assigned value is 0 courier-1.4.1/libs/imap/pop3dserver.c:950:25: note: Null pointer dereference courier-1.4.1/libs/imap/pop3dserver.c:767:12: style: Redundant initialization for 'lastc'. The initialized value is overwritten before it is read. [redundantInitialization] courier-1.4.1/libs/imap/pop3dserver.c:720:14: note: lastc is initialized courier-1.4.1/libs/imap/pop3dserver.c:767:12: note: lastc is overwritten courier-1.4.1/libs/imap/pop3dserver.c:699:7: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/pop3dserver.c:689:6: note: Shadowed declaration courier-1.4.1/libs/imap/pop3dserver.c:699:7: note: Shadow variable courier-1.4.1/libs/imap/pop3dserver.c:708:7: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/pop3dserver.c:689:6: note: Shadowed declaration courier-1.4.1/libs/imap/pop3dserver.c:708:7: note: Shadow variable courier-1.4.1/libs/imap/pop3dserver.c:322:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/pop3dserver.c:357:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/pop3dserver.c:1101:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/pop3dserver.c:1127:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/pop3login.c:112:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3login.c:170:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3login.c:209:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3login.c:307:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3login.c:563:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/pop3login.c:230:7: portability: Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'. [prohibitedgetservbynameCalled] courier-1.4.1/libs/imap/pop3login.c:362:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:394:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:416:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:432:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:443:22: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:504:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/pop3login.c:268:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/pop3login.c:199:8: note: Shadowed declaration courier-1.4.1/libs/imap/pop3login.c:268:9: note: Shadow variable courier-1.4.1/libs/imap/pop3login.c:445:12: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/pop3login.c:306:7: note: Shadowed declaration courier-1.4.1/libs/imap/pop3login.c:445:12: note: Shadow variable courier-1.4.1/libs/imap/pop3login.c:227:20: style: Variable 'se' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/pop3login.c:547:24: style: Variable 'ppi' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/proxy.c:56:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:79:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:196:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:293:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:346:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:418:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:490:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:623:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/proxy.c:177:5: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] courier-1.4.1/libs/imap/proxy.c:310:8: style:inconclusive: Function 'proxyconnect' argument 2 names different: declaration 'aftype' definition 'pf'. [funcArgNamesDifferent] courier-1.4.1/libs/imap/proxy.c:111:8: note: Function 'proxyconnect' argument 2 names different: declaration 'aftype' definition 'pf'. courier-1.4.1/libs/imap/proxy.c:310:8: note: Function 'proxyconnect' argument 2 names different: declaration 'aftype' definition 'pf'. courier-1.4.1/libs/imap/proxy.c:324:24: style: Variable 'sin' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/search.c:562:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/search.c:690:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_DECODEMSG_NOBODY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/search.c:1007:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_DECODEMSG_NOHEADERS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/search.c:341:8: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/search.c:342:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/search.c:344:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/search.c:346:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/imap/search.c:356:15: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/imap/search.c:203:20: warning: Either the condition '(fp=fdopen(fd,"r"))==0' is redundant or there is possible null pointer dereference: fp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/search.c:200:28: note: Assuming that condition '(fp=fdopen(fd,"r"))==0' is not redundant courier-1.4.1/libs/imap/search.c:203:20: note: Null pointer dereference courier-1.4.1/libs/imap/search.c:764:6: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/search.c:763:8: note: Assuming that condition '!a' is not redundant courier-1.4.1/libs/imap/search.c:764:6: note: Null pointer dereference courier-1.4.1/libs/imap/search.c:228:56: style: Local variable 'rfcp' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/search.c:218:48: note: Shadowed declaration courier-1.4.1/libs/imap/search.c:228:56: note: Shadow variable courier-1.4.1/libs/imap/search.c:79:48: style: Parameter 'si' can be declared as pointer to const. However it seems that 'search_callback' is a callback function, if 'si' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/search.c:76:46: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/search.c:79:48: note: Parameter 'si' can be declared as pointer to const courier-1.4.1/libs/imap/search.c:79:71: style: Parameter 'sihead' can be declared as pointer to const. However it seems that 'search_callback' is a callback function, if 'sihead' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/search.c:76:46: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/search.c:79:71: note: Parameter 'sihead' can be declared as pointer to const courier-1.4.1/libs/imap/search.c:80:36: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'search_callback' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/search.c:76:46: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/search.c:80:36: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/imap/search.c:305:30: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/search.c:356:12: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/search.c:402:42: style: Parameter 'flags' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/search.c:407:22: style: Variable 'f' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:93:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokentype [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/searchinfo.c:148:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable type [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/searchinfo.c:25:9: warning: If memory allocation fails, then there is a possible null pointer dereference: si [nullPointerOutOfMemory] courier-1.4.1/libs/imap/searchinfo.c:22:50: note: Assuming allocation function fails courier-1.4.1/libs/imap/searchinfo.c:22:23: note: Assignment 'si=(struct searchinfo*)malloc(sizeof(**head))', assigned value is 0 courier-1.4.1/libs/imap/searchinfo.c:25:9: note: Null pointer dereference courier-1.4.1/libs/imap/searchinfo.c:27:2: warning: If memory allocation fails, then there is a possible null pointer dereference: si [nullPointerOutOfMemory] courier-1.4.1/libs/imap/searchinfo.c:22:50: note: Assuming allocation function fails courier-1.4.1/libs/imap/searchinfo.c:22:23: note: Assignment 'si=(struct searchinfo*)malloc(sizeof(**head))', assigned value is 0 courier-1.4.1/libs/imap/searchinfo.c:27:2: note: Null pointer dereference courier-1.4.1/libs/imap/searchinfo.c:146:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:146:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:155:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:155:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:167:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:167:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:168:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:168:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:196:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:196:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:197:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:197:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:214:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:214:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:215:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:215:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:231:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:231:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:232:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:232:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:247:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:247:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:248:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:248:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:262:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:262:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:263:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:263:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:279:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:279:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:280:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:280:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:296:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:296:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:297:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:297:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:313:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:313:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:314:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:314:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:330:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:330:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:331:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:331:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:347:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:347:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:348:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:348:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:362:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:362:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:363:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:363:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:379:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:379:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:380:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:380:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:396:20: style: Local variable 't' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:125:19: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:396:20: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:397:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:397:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:426:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:426:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:444:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:444:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:463:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:463:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:481:21: style: Local variable 'si' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/searchinfo.c:126:20: note: Shadowed declaration courier-1.4.1/libs/imap/searchinfo.c:481:21: note: Shadow variable courier-1.4.1/libs/imap/searchinfo.c:89:19: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:108:19: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:167:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:196:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:214:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:231:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:247:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:262:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:279:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:296:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:313:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:330:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:347:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:362:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/searchinfo.c:396:20: style: Variable 't' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:276:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:371:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_LOOKUP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:485:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:792:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:833:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:931:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILBOXTYPE_NEWSHARED [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:1010:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:1136:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:1478:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045H_NOLC [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:1629:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:1959:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2072:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable firstEntry [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2262:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2296:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2331:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2389:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2468:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2590:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2752:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2800:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:2953:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:3256:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_INSERT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smap.c:615:11: error: Using object that points to local variable 'inbox' that is out of scope. [invalidLifetime] courier-1.4.1/libs/imap/smap.c:563:15: note: Address of variable taken here. courier-1.4.1/libs/imap/smap.c:514:22: note: Variable created here. courier-1.4.1/libs/imap/smap.c:615:11: note: Using object that points to local variable 'inbox' that is out of scope. courier-1.4.1/libs/imap/smap.c:617:25: error: Using object that points to local variable 'inbox' that is out of scope. [invalidLifetime] courier-1.4.1/libs/imap/smap.c:563:15: note: Address of variable taken here. courier-1.4.1/libs/imap/smap.c:514:22: note: Variable created here. courier-1.4.1/libs/imap/smap.c:617:25: note: Using object that points to local variable 'inbox' that is out of scope. courier-1.4.1/libs/imap/smap.c:619:5: error: Using object that points to local variable 'inbox' that is out of scope. [invalidLifetime] courier-1.4.1/libs/imap/smap.c:563:15: note: Address of variable taken here. courier-1.4.1/libs/imap/smap.c:514:22: note: Variable created here. courier-1.4.1/libs/imap/smap.c:619:5: note: Using object that points to local variable 'inbox' that is out of scope. courier-1.4.1/libs/imap/smap.c:457:3: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/imap/smap.c:2726:30: style: Expression is always false because 'else if' condition matches previous condition at line 2702. [multiCondition] courier-1.4.1/libs/imap/smap.c:583:29: style: Condition 'curcache->indexfile.startingpos' is always false [knownConditionTrueFalse] courier-1.4.1/libs/imap/smap.c:578:37: note: Assignment 'curcache->indexfile.startingpos=0', assigned value is 0 courier-1.4.1/libs/imap/smap.c:583:29: note: Condition 'curcache->indexfile.startingpos' is always false courier-1.4.1/libs/imap/smap.c:595:25: style: Condition '!eof' is always true [knownConditionTrueFalse] courier-1.4.1/libs/imap/smap.c:579:9: note: Assignment 'eof=0', assigned value is 0 courier-1.4.1/libs/imap/smap.c:595:25: note: Condition '!eof' is always true courier-1.4.1/libs/imap/smap.c:779:6: style: Condition '!lci->found' is always true [knownConditionTrueFalse] courier-1.4.1/libs/imap/smap.c:775:13: note: Assignment 'lci->found=NULL', assigned value is 0 courier-1.4.1/libs/imap/smap.c:779:6: note: Condition '!lci->found' is always true courier-1.4.1/libs/imap/smap.c:2462:26: error: Dereferencing 'filename' after it is deallocated / released [deallocuse] courier-1.4.1/libs/imap/smap.c:2473:3: error: Memory pointed to by 'filename' is freed twice. [doubleFree] courier-1.4.1/libs/imap/smap.c:2457:3: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/imap/smap.c:2473:3: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/imap/smap.c:367:17: warning: If memory allocation fails, then there is a possible null pointer dereference: owner [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:362:21: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:362:21: note: Assignment 'owner=malloc(sizeof("user=")+strlen(utf8->owner))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:367:17: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:630:4: warning: If memory allocation fails, then there is a possible null pointer dereference: vecs [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:611:14: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:611:14: note: Assignment 'vecs=malloc(sizeof(char*)*(cnt+2))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:630:4: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:642:4: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: vecs [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:611:14: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:611:14: note: Assignment 'vecs=malloc(sizeof(char*)*(cnt+2))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:642:4: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:643:4: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: vecs [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:611:14: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:611:14: note: Assignment 'vecs=malloc(sizeof(char*)*(cnt+2))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:643:4: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1152:4: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1152:4: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1153:4: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1153:4: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1156:3: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1156:3: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1156:18: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1156:18: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1157:3: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1157:3: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1157:18: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1157:18: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:1158:5: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1158:5: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:2461:23: warning: If memory allocation fails, then there is a possible null pointer dereference: newfilename [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:2452:20: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:2452:20: note: Assignment 'newfilename=malloc(strlen(cqinfo->destmailbox)+sizeof("/cur")+strlen(strrchr(filename,'/')))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:2461:23: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:2466:16: warning: If memory allocation fails, then there is a possible null pointer dereference: newfilename [nullPointerOutOfMemory] courier-1.4.1/libs/imap/smap.c:2452:20: note: Assuming allocation function fails courier-1.4.1/libs/imap/smap.c:2452:20: note: Assignment 'newfilename=malloc(strlen(cqinfo->destmailbox)+sizeof("/cur")+strlen(strrchr(filename,'/')))', assigned value is 0 courier-1.4.1/libs/imap/smap.c:2466:16: note: Null pointer dereference courier-1.4.1/libs/imap/smap.c:503:22: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/smap.c:478:20: note: Shadowed declaration courier-1.4.1/libs/imap/smap.c:503:22: note: Shadow variable courier-1.4.1/libs/imap/smap.c:787:22: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/smap.c:783:9: note: Shadowed declaration courier-1.4.1/libs/imap/smap.c:787:22: note: Shadow variable courier-1.4.1/libs/imap/smap.c:2375:6: style: Local variable 'n' shadows outer argument [shadowArgument] courier-1.4.1/libs/imap/smap.c:2340:37: note: Shadowed declaration courier-1.4.1/libs/imap/smap.c:2375:6: note: Shadow variable courier-1.4.1/libs/imap/smap.c:3797:17: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/smap.c:3223:9: note: Shadowed declaration courier-1.4.1/libs/imap/smap.c:3797:17: note: Shadow variable courier-1.4.1/libs/imap/smap.c:3911:25: style: Local variable 'list' shadows outer function [shadowFunction] courier-1.4.1/libs/imap/smap.c:316:13: note: Shadowed declaration courier-1.4.1/libs/imap/smap.c:3911:25: note: Shadow variable courier-1.4.1/libs/imap/smap.c:247:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:316:24: style: Parameter 'folder' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/smap.c:1345:47: style: Parameter 'vp' can be declared as pointer to const. However it seems that 'msg_expunge' is a callback function, if 'vp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/smap.c:4271:20: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/smap.c:1345:47: note: Parameter 'vp' can be declared as pointer to const courier-1.4.1/libs/imap/smap.c:1916:24: style: Variable 'fi' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:2090:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:2254:26: style: Parameter 'n' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/smap.c:2272:27: style: Parameter 'errmsg' can be declared as pointer to const. However it seems that 'senderr' is a callback function, if 'errmsg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/imap/smap.c:3507:10: note: You might need to cast the function pointer here courier-1.4.1/libs/imap/smap.c:2272:27: note: Parameter 'errmsg' can be declared as pointer to const courier-1.4.1/libs/imap/smap.c:2286:46: style: Parameter 'newname' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/smap.c:2288:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:2325:34: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/imap/smap.c:2343:24: style: Variable 'cqinfo' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smap.c:2440:24: style: Variable 'cqinfo' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smapsnapshot.c:182:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SNAPSHOTVERSION [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smapsnapshot.c:242:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IMAPDB [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smapsnapshot.c:412:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SNAPSHOTDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smapsnapshot.c:693:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SNAPSHOTVERSION [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/smapsnapshot.c:485:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/imap/smapsnapshot.c:334:9: style: Condition 'p' is always true [knownConditionTrueFalse] courier-1.4.1/libs/imap/smapsnapshot.c:179:3: warning: Either the condition '!last_snapshot' is redundant or there is possible null pointer dereference: last_snapshot. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smapsnapshot.c:191:7: note: Assuming that condition '!last_snapshot' is not redundant courier-1.4.1/libs/imap/smapsnapshot.c:179:3: note: Null pointer dereference courier-1.4.1/libs/imap/smapsnapshot.c:189:4: warning: Either the condition '!last_snapshot' is redundant or there is possible null pointer dereference: last_snapshot. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smapsnapshot.c:191:7: note: Assuming that condition '!last_snapshot' is not redundant courier-1.4.1/libs/imap/smapsnapshot.c:189:4: note: Null pointer dereference courier-1.4.1/libs/imap/smapsnapshot.c:247:8: style: Variable 'uid_line' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smapsnapshot.c:404:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/smapsnapshot.c:703:31: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/imap/storeinfo.c:132:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_WRITE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/storeinfo.c:337:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/imap/storeinfo.c:188:9: style: Condition '!kwAllowed' is always false [knownConditionTrueFalse] courier-1.4.1/libs/imap/storeinfo.c:248:37: style: Local variable 'kme' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/storeinfo.c:118:32: note: Shadowed declaration courier-1.4.1/libs/imap/storeinfo.c:248:37: note: Shadow variable courier-1.4.1/libs/imap/thread.c:60:2: warning: If memory allocation fails, then there is a possible null pointer dereference: osi [nullPointerOutOfMemory] courier-1.4.1/libs/imap/thread.c:57:8: note: Assuming allocation function fails courier-1.4.1/libs/imap/thread.c:56:27: note: Assignment 'osi=(struct os_threadinfo*)malloc(sizeof(struct os_threadinfo))', assigned value is 0 courier-1.4.1/libs/imap/thread.c:60:2: note: Null pointer dereference courier-1.4.1/libs/imap/thread.c:62:7: warning: If memory allocation fails, then there is a possible null pointer dereference: osi [nullPointerOutOfMemory] courier-1.4.1/libs/imap/thread.c:57:8: note: Assuming allocation function fails courier-1.4.1/libs/imap/thread.c:56:27: note: Assignment 'osi=(struct os_threadinfo*)malloc(sizeof(struct os_threadinfo))', assigned value is 0 courier-1.4.1/libs/imap/thread.c:62:7: note: Null pointer dereference courier-1.4.1/libs/imap/thread.c:117:3: warning: If memory allocation fails, then there is a possible null pointer dereference: threadptr [nullPointerOutOfMemory] courier-1.4.1/libs/imap/thread.c:114:19: note: Assuming allocation function fails courier-1.4.1/libs/imap/thread.c:114:19: note: Assignment 'threadptr=malloc(sizeof(struct os_threadinfo_list))', assigned value is 0 courier-1.4.1/libs/imap/thread.c:117:3: note: Null pointer dereference courier-1.4.1/libs/imap/thread.c:132:10: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/imap/thread.c:99:9: note: Shadowed declaration courier-1.4.1/libs/imap/thread.c:132:10: note: Shadow variable courier-1.4.1/libs/imap/thread.c:471:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookadd.c:24:3: error: Used file that is not opened. [useClosedFile] courier-1.4.1/libs/ldapaddressbook/abookadd.c:24:3: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/ldapaddressbook/abookadd.c:22:20: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/ldapaddressbook/abookadd.c:24:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/ldapaddressbook/abookdel.c:41:3: error: Used file that is not opened. [useClosedFile] courier-1.4.1/libs/ldapaddressbook/abookread.c:19:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/ldapaddressbook/abookread.c:99:27: style: Local variable 'nextopt' shadows outer variable [shadowVariable] courier-1.4.1/libs/ldapaddressbook/abookread.c:38:25: note: Shadowed declaration courier-1.4.1/libs/ldapaddressbook/abookread.c:99:27: note: Shadow variable courier-1.4.1/libs/ldapaddressbook/abookread.c:23:7: style: Variable 'name' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:24:7: style: Variable 'host' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:25:7: style: Variable 'port' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:26:7: style: Variable 'suffix' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:27:7: style: Variable 'binddn' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:28:7: style: Variable 'bindpw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:192:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abookread.c:218:8: style: Variable 'sep' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/ldapaddressbook/abooksearch.c:43:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/ldapaddressbook/abooksearch.c:110:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/ldapaddressbook/abooksearch.c:41:8: note: Shadowed declaration courier-1.4.1/libs/ldapaddressbook/abooksearch.c:110:9: note: Shadow variable courier-1.4.1/libs/ldapaddressbook/abooksearch.c:134:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/ldapaddressbook/abooksearch.c:41:8: note: Shadowed declaration courier-1.4.1/libs/ldapaddressbook/abooksearch.c:134:10: note: Shadow variable courier-1.4.1/libs/ldapaddressbook/ldapsearch.c:32:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/ldapaddressbook/ldapsearch.c:14:14: style: Parameter 'callback_arg' can be declared as pointer to const. However it seems that 'cb' is a callback function, if 'callback_arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/ldapaddressbook/ldapsearch.c:55:29: note: You might need to cast the function pointer here courier-1.4.1/libs/ldapaddressbook/ldapsearch.c:14:14: note: Parameter 'callback_arg' can be declared as pointer to const courier-1.4.1/libs/ldapaddressbook/libldapsearch.c:48:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAP_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/ldapaddressbook/libldapsearch.c:250:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/ldapaddressbook/libldapsearch.c:368:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/libhmac/md5hmactest.c:54:3: warning: %i in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/libs/libhmac/sha1hmactest.c:54:3: warning: %i in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/libs/libhmac/sha1hmactest.c:70:3: warning: %i in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/libs/liblock/lockdaemon.c:107:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:138:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:200:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:246:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:281:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:342:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockdaemon.c:206:14: error: Resource leak: i [resourceLeak] courier-1.4.1/libs/liblock/lockdaemon.c:209:2: error: Resource leak: i [resourceLeak] courier-1.4.1/libs/liblock/lockdaemon.c:211:14: error: Resource leak: i [resourceLeak] courier-1.4.1/libs/liblock/lockdaemon.c:212:2: error: Resource leak: i [resourceLeak] courier-1.4.1/libs/liblock/lockdaemon.c:218:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/liblock/lockfcntl.c:27:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_RDLCK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockflock.c:28:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockmail.c:55:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/lockmail.c:79:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/locktest.c:49:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/locktest.c:53:3: error: Memory leak: name [memleak] courier-1.4.1/libs/liblock/locktest.c:65:3: error: Resource leak: f [resourceLeak] courier-1.4.1/libs/liblock/locktest.c:65:3: error: Memory leak: name [memleak] courier-1.4.1/libs/liblock/mail.c:137:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:273:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:306:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:358:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:464:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:496:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/liblock/mail.c:265:36: style:inconclusive: Function 'try_dotlock' argument 1 names different: declaration 'tmpfile' definition 'tmpname'. [funcArgNamesDifferent] courier-1.4.1/libs/liblock/mail.c:232:36: note: Function 'try_dotlock' argument 1 names different: declaration 'tmpfile' definition 'tmpname'. courier-1.4.1/libs/liblock/mail.c:265:36: note: Function 'try_dotlock' argument 1 names different: declaration 'tmpfile' definition 'tmpname'. courier-1.4.1/libs/liblock/mail.c:186:9: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/liblock/mail.c:115:34: note: Shadowed declaration courier-1.4.1/libs/liblock/mail.c:186:9: note: Shadow variable courier-1.4.1/libs/liblock/mail.c:103:29: style: Parameter 'idbuf' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/liblock/mail.c:103:42: style: Parameter 'myidbuf' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/autoresponse.c:164:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/autoresponse.c:242:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/autoresponse.c:290:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTORESPONSEQUOTA [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/autoresponse.c:423:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/autoresponse.c:76:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/autoresponse.c:198:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/autoresponse.c:334:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/autoresponse.c:74:18: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/autoresponse.c:192:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/autoresponse.c:318:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/autoresponse.c:356:59: style: Parameter 'setquota' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/autoresponse.c:357:45: style: Parameter 'newquota' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/deliverquota.c:57:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/deliverquota.c:195:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/loginexec.c:25:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IXUSR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiracl.c:104:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiracl.c:43:13: style: Parameter 'cb_arg' can be declared as pointer to const. However it seems that 'acl_list' is a callback function, if 'cb_arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildir/maildiracl.c:118:34: note: You might need to cast the function pointer here courier-1.4.1/libs/maildir/maildiracl.c:43:13: note: Parameter 'cb_arg' can be declared as pointer to const courier-1.4.1/libs/maildir/maildiracl.c:57:22: style: Variable 'ci' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildiraclt.c:72:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:215:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:360:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:397:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:605:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:729:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiraclt.c:972:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildiraclt.c:500:17: style: Redundant condition: The condition '*p' is redundant since '*p == ' '' is sufficient. [redundantCondition] courier-1.4.1/libs/maildir/maildiraclt.c:579:43: style: Condition 'maildir_aclt_list_del(aclt_list,n)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/maildir/maildiraclt.c:579:28: note: Calling function 'maildir_aclt_list_del' returns 0 courier-1.4.1/libs/maildir/maildiraclt.c:579:43: note: Condition 'maildir_aclt_list_del(aclt_list,n)<0' is always false courier-1.4.1/libs/maildir/maildiraclt.c:1106:45: style: Condition 'maildir_aclt_del(aclt,NULL,&p->acl)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/maildir/maildiraclt.c:1106:23: note: Calling function 'maildir_aclt_del' returns 0 courier-1.4.1/libs/maildir/maildiraclt.c:1106:45: note: Condition 'maildir_aclt_del(aclt,NULL,&p->acl)<0' is always false courier-1.4.1/libs/maildir/maildiraclt.c:466:4: error: Memory leak: q [memleak] courier-1.4.1/libs/maildir/maildiraclt.c:489:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildiraclt.c:395:8: note: Shadowed declaration courier-1.4.1/libs/maildir/maildiraclt.c:489:9: note: Shadow variable courier-1.4.1/libs/maildir/maildiraclt.c:652:45: style: Parameter 'void_arg' can be declared as pointer to const. However it seems that 'is_owner' is a callback function, if 'void_arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildir/maildiraclt.c:761:57: note: You might need to cast the function pointer here courier-1.4.1/libs/maildir/maildiraclt.c:652:45: note: Parameter 'void_arg' can be declared as pointer to const courier-1.4.1/libs/maildir/maildiraclt.c:660:45: style: Parameter 'void_arg' can be declared as pointer to const. However it seems that 'is_admin' is a callback function, if 'void_arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildir/maildiraclt.c:776:47: note: You might need to cast the function pointer here courier-1.4.1/libs/maildir/maildiraclt.c:660:45: note: Parameter 'void_arg' can be declared as pointer to const courier-1.4.1/libs/maildir/maildiraclt.c:950:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildiraclt.c:1157:52: style: Parameter 'void_arg' can be declared as pointer to const. However it seems that 'chk_array' is a callback function, if 'void_arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildir/maildiraclt.c:1153:46: note: You might need to cast the function pointer here courier-1.4.1/libs/maildir/maildiraclt.c:1157:52: note: Parameter 'void_arg' can be declared as pointer to const courier-1.4.1/libs/maildir/maildircache.c:80:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:182:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:285:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:371:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:483:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:602:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircache.c:199:21: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/libs/maildir/maildircache.c:511:5: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/libs/maildir/maildircache.c:540:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildircache.c:577:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildircache.c:91:37: style: Condition '*p==';'' is always false [knownConditionTrueFalse] courier-1.4.1/libs/maildir/maildircache.c:91:31: style: Same expression '*p==';'' found multiple times in chain of '||' operators. [duplicateExpression] courier-1.4.1/libs/maildir/maildircache.c:302:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildircache.c:286:7: note: Shadowed declaration courier-1.4.1/libs/maildir/maildircache.c:302:15: note: Shadow variable courier-1.4.1/libs/maildir/maildircache.c:555:22: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildircache.c:466:8: note: Shadowed declaration courier-1.4.1/libs/maildir/maildircache.c:555:22: note: Shadow variable courier-1.4.1/libs/maildir/maildircache.c:111:15: style: Variable 'xdigit' can be declared as const array [constVariable] courier-1.4.1/libs/maildir/maildircache.c:150:7: style: Variable 'userid' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildircache.c:199:17: style: Variable 'pwd' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildircache.c:468:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildircache.c:471:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildircache.c:569:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildircreate.c:69:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircreate.c:85:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircreate.c:252:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildircreate.c:46:3: error: Resource handle 'fd' freed twice. [doubleFree] courier-1.4.1/libs/maildir/maildircreate.c:42:5: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/maildir/maildircreate.c:46:3: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/maildir/maildirdelfolder.c:48:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilename.c:62:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilename.c:101:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirfilename.c:57:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirfilter.c:227:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter.c:665:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILBOT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter.c:722:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter.c:893:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter.c:922:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter.c:891:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/maildir/maildirfilter.c:899:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/maildir/maildirfilter.c:202:13: warning: Either the condition 'header' is redundant or there is possible null pointer dereference: c. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirfilter.c:423:32: note: Assuming that condition 'header' is not redundant courier-1.4.1/libs/maildir/maildirfilter.c:201:3: note: c is assigned 'header' here. courier-1.4.1/libs/maildir/maildirfilter.c:202:13: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirfilter.c:203:7: warning: Either the condition 'header' is redundant or there is possible null pointer dereference: c. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirfilter.c:423:32: note: Assuming that condition 'header' is not redundant courier-1.4.1/libs/maildir/maildirfilter.c:201:3: note: c is assigned 'header' here. courier-1.4.1/libs/maildir/maildirfilter.c:202:16: note: Assuming condition is false courier-1.4.1/libs/maildir/maildirfilter.c:203:7: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirfilter.c:238:13: warning: Either the condition 'value' is redundant or there is possible null pointer dereference: c. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirfilter.c:425:33: note: Assuming that condition 'value' is not redundant courier-1.4.1/libs/maildir/maildirfilter.c:237:3: note: c is assigned 'value' here. courier-1.4.1/libs/maildir/maildirfilter.c:238:13: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirfilter.c:239:7: warning: Either the condition 'value' is redundant or there is possible null pointer dereference: c. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirfilter.c:425:33: note: Assuming that condition 'value' is not redundant courier-1.4.1/libs/maildir/maildirfilter.c:237:3: note: c is assigned 'value' here. courier-1.4.1/libs/maildir/maildirfilter.c:238:16: note: Assuming condition is false courier-1.4.1/libs/maildir/maildirfilter.c:239:7: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirfilter.c:364:19: warning: Either the condition 'fromhdr' is redundant or there is possible null pointer dereference: c. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirfilter.c:361:9: note: Assuming that condition 'fromhdr' is not redundant courier-1.4.1/libs/maildir/maildirfilter.c:364:9: note: Assignment 'c=fromhdr', assigned value is 0 courier-1.4.1/libs/maildir/maildirfilter.c:364:19: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirfilter.c:199:10: style: Variable '*errcode' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/maildir/maildirfilter.c:193:11: note: *errcode is assigned courier-1.4.1/libs/maildir/maildirfilter.c:199:10: note: *errcode is overwritten courier-1.4.1/libs/maildir/maildirfilter.c:50:18: style:inconclusive: Function 'maildir_filter_appendrule' argument 9 names different: declaration 'rulecharset' definition 'charset'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirfilter.h:65:18: note: Function 'maildir_filter_appendrule' argument 9 names different: declaration 'rulecharset' definition 'charset'. courier-1.4.1/libs/maildir/maildirfilter.c:50:18: note: Function 'maildir_filter_appendrule' argument 9 names different: declaration 'rulecharset' definition 'charset'. courier-1.4.1/libs/maildir/maildirfilter.c:884:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirfilter2.c:35:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILDIRFILTERCONFIG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter2.c:62:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter2.c:88:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirfilter2.c:198:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirflags.c:18:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirgetnew.c:96:26: error: There is an unknown macro here somewhere. Configuration is required. If MDIRSEP is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/maildir/maildirgetquota.c:37:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo.c:102:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo.c:463:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo.c:508:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_x_smap_modutf8 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo.c:650:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo.c:442:10: error: Deallocation of an auto-variable (n) results in undefined behaviour. [autovarInvalidDeallocation] courier-1.4.1/libs/maildir/maildirinfo.c:458:13: note: Passed to 'strcpy'. courier-1.4.1/libs/maildir/maildirinfo.c:442:10: note: Deallocating memory that was not dynamically allocated courier-1.4.1/libs/maildir/maildirinfo.c:87:19: style:inconclusive: Function 'maildir_info_imap_find' argument 3 names different: declaration 'myid' definition 'myId'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirinfo.h:30:19: note: Function 'maildir_info_imap_find' argument 3 names different: declaration 'myid' definition 'myId'. courier-1.4.1/libs/maildir/maildirinfo.c:87:19: note: Function 'maildir_info_imap_find' argument 3 names different: declaration 'myid' definition 'myId'. courier-1.4.1/libs/maildir/maildirinfo.c:632:19: style:inconclusive: Function 'maildir_info_smap_find' argument 3 names different: declaration 'myid' definition 'myId'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirinfo.h:65:19: note: Function 'maildir_info_smap_find' argument 3 names different: declaration 'myid' definition 'myId'. courier-1.4.1/libs/maildir/maildirinfo.c:632:19: note: Function 'maildir_info_smap_find' argument 3 names different: declaration 'myid' definition 'myId'. courier-1.4.1/libs/maildir/maildirinfo2.c:69:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo2.c:134:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_x_imap_modutf7 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirinfo2.c:146:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_x_imap_modutf7 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords.c:49:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords.c:42:50: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirkeywords.c:255:37: style: Parameter 'ke' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirkeywords2.c:948:13: error: There is an unknown macro here somewhere. Configuration is required. If KEYWORDDIR is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/maildir/maildirkeywords3.c:52:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords3.c:65:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords3.c:198:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords3.c:297:48: style:inconclusive: Function 'g_getMessageFilename' argument 1 names different: declaration 'n' definition 'indexNum'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirkeywords3.c:138:48: note: Function 'g_getMessageFilename' argument 1 names different: declaration 'n' definition 'indexNum'. courier-1.4.1/libs/maildir/maildirkeywords3.c:297:48: note: Function 'g_getMessageFilename' argument 1 names different: declaration 'n' definition 'indexNum'. courier-1.4.1/libs/maildir/maildirkeywords3.c:317:37: style:inconclusive: Function 'g_updateKeywords' argument 1 names different: declaration 'n' definition 'indexNum'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirkeywords3.c:142:37: note: Function 'g_updateKeywords' argument 1 names different: declaration 'n' definition 'indexNum'. courier-1.4.1/libs/maildir/maildirkeywords3.c:317:37: note: Function 'g_updateKeywords' argument 1 names different: declaration 'n' definition 'indexNum'. courier-1.4.1/libs/maildir/maildirkeywords3.c:242:28: style: Variable 'g' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:28:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:51:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:69:26: warning: 'operator=' should check for assignment to self to avoid problems with dynamic memory. [operatorEqToSelf] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:89:16: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:138:60: performance: Function parameter 'flagName' should be passed by const reference. [passedByValue] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:152:51: performance: Function parameter 's' should be passed by const reference. [passedByValue] courier-1.4.1/libs/maildir/maildirkeywords4.cpp:163:18: performance: Function parameter 'keywords' should be passed by const reference. [passedByValue] courier-1.4.1/libs/maildir/maildirkw.C:171:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkw.C:354:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optind [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkw.C:226:18: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildir/maildirkw.C:206:34: style: Variable 'e' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirkwtest.c:48:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable firstEntry [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirkwtest.c:70:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable userNum [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirlist.c:49:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirlist.c:47:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirlock.c:57:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirlock.c:23:32: style:inconclusive: Function 'maildir_lock' argument 1 names different: declaration 'maildir' definition 'dir'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirwatch.h:131:32: note: Function 'maildir_lock' argument 1 names different: declaration 'maildir' definition 'dir'. courier-1.4.1/libs/maildir/maildirlock.c:23:32: note: Function 'maildir_lock' argument 1 names different: declaration 'maildir' definition 'dir'. courier-1.4.1/libs/maildir/maildirmake.c:48:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake.c:138:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake.c:229:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake.c:291:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake.c:648:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_x_smap_modutf8 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake.c:286:17: warning: If memory allocation fails, then there is a possible null pointer dereference: mailfilter_newname [nullPointerOutOfMemory] courier-1.4.1/libs/maildir/maildirmake.c:284:28: note: Assuming allocation function fails courier-1.4.1/libs/maildir/maildirmake.c:284:28: note: Assignment 'mailfilter_newname=malloc(strlen(mailfilter)+10)', assigned value is 0 courier-1.4.1/libs/maildir/maildirmake.c:286:17: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirmake.c:316:15: warning: Either the condition '!converted' is redundant or there is possible null pointer dereference: converted. [nullPointerRedundantCheck] courier-1.4.1/libs/maildir/maildirmake.c:306:8: note: Assuming that condition '!converted' is not redundant courier-1.4.1/libs/maildir/maildirmake.c:316:15: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirmake.c:447:16: warning: If memory allocation fails, then there is a possible null pointer dereference: courierimapsubscribed [nullPointerOutOfMemory] courier-1.4.1/libs/maildir/maildirmake.c:444:30: note: Assuming allocation function fails courier-1.4.1/libs/maildir/maildirmake.c:444:30: note: Assignment 'courierimapsubscribed=malloc(strlen(maildir)+100)', assigned value is 0 courier-1.4.1/libs/maildir/maildirmake.c:447:16: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirmake.c:449:16: warning: If memory allocation fails, then there is a possible null pointer dereference: courierimapsubscribed_new [nullPointerOutOfMemory] courier-1.4.1/libs/maildir/maildirmake.c:445:34: note: Assuming allocation function fails courier-1.4.1/libs/maildir/maildirmake.c:445:34: note: Assignment 'courierimapsubscribed_new=malloc(strlen(maildir)+100)', assigned value is 0 courier-1.4.1/libs/maildir/maildirmake.c:449:16: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirmake.c:456:38: warning: If memory allocation fails, then there is a possible null pointer dereference: courierimapsubscribed [nullPointerOutOfMemory] courier-1.4.1/libs/maildir/maildirmake.c:444:30: note: Assuming allocation function fails courier-1.4.1/libs/maildir/maildirmake.c:444:30: note: Assignment 'courierimapsubscribed=malloc(strlen(maildir)+100)', assigned value is 0 courier-1.4.1/libs/maildir/maildirmake.c:456:38: note: Null pointer dereference courier-1.4.1/libs/maildir/maildirmake.c:358:12: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:354:11: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:358:12: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:641:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:617:7: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:641:16: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:667:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:617:7: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:667:15: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:696:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:617:7: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:696:16: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:719:10: style: Local variable 'maildir' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:616:13: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:719:10: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:727:10: style: Local variable 'maildir' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirmake.c:616:13: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirmake.c:727:10: note: Shadow variable courier-1.4.1/libs/maildir/maildirmake.c:49:7: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:622:7: style: Variable 'addshared' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:622:21: style: Variable 'delshared' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:719:10: style: Variable 'maildir' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:720:10: style: Variable 'mailfilter' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:727:10: style: Variable 'maildir' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake.c:728:10: style: Variable 'mailfilter' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmake2.c:56:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake2.c:119:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake2.c:140:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirmake2.c:78:22: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirmake2.c:72:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirmkdir.c:29:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirnewshared.c:58:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirnewshared.c:122:18: style: Variable 'info->cb_arg' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/maildir/maildirnewshared.c:120:6: note: info->cb_arg is assigned courier-1.4.1/libs/maildir/maildirnewshared.c:122:18: note: info->cb_arg is overwritten courier-1.4.1/libs/maildir/maildirnewshared.c:160:19: style: Variable 'info->cb_arg' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/maildir/maildirnewshared.c:155:7: note: info->cb_arg is assigned courier-1.4.1/libs/maildir/maildirnewshared.c:160:19: note: info->cb_arg is overwritten courier-1.4.1/libs/maildir/maildirnewshared2.c:48:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirnewshared2.c:144:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable maildir_shindex_cache [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiropen.c:119:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_NDELAY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildiropen.c:113:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirparsequota.c:22:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirpath.c:50:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirpath.c:107:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirpurgetmp.c:52:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirpurgetmp.c:45:16: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirpurgetmp.c:93:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirquota.c:131:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:296:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:337:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:450:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:583:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:661:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:840:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:901:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:1007:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirquota.c:455:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirquota.c:526:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirquota.c:767:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirquota.c:826:40: style:inconclusive: Function 'maildirquota_countfile' argument 1 names different: declaration 'filename' definition 'n'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirquota.h:140:40: note: Function 'maildirquota_countfile' argument 1 names different: declaration 'filename' definition 'n'. courier-1.4.1/libs/maildir/maildirquota.c:826:40: note: Function 'maildirquota_countfile' argument 1 names different: declaration 'filename' definition 'n'. courier-1.4.1/libs/maildir/maildirquota.c:199:11: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirquota.c:123:6: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirquota.c:199:11: note: Shadow variable courier-1.4.1/libs/maildir/maildirquota.c:201:9: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirquota.c:325:44: style: Parameter 'size' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirquota.c:326:30: style: Parameter 'quota' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirquota.c:415:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirrename.c:99:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirrename.c:191:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirrename.c:211:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirrename.c:362:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildir/maildirrename.c:208:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirrename.c:359:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/maildirrequota.c:27:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MDIRSEP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirsearch.c:10:63: style:inconclusive: Function 'maildir_search_start_unicode' argument 1 names different: declaration 'engine' definition 'sei'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirsearch.h:66:63: note: Function 'maildir_search_start_unicode' argument 1 names different: declaration 'engine' definition 'sei'. courier-1.4.1/libs/maildir/maildirsearch.c:10:63: note: Function 'maildir_search_start_unicode' argument 1 names different: declaration 'engine' definition 'sei'. courier-1.4.1/libs/maildir/maildirsearch.c:11:22: style:inconclusive: Function 'maildir_search_start_unicode' argument 2 names different: declaration 'string' definition 's'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirsearch.h:67:22: note: Function 'maildir_search_start_unicode' argument 2 names different: declaration 'string' definition 's'. courier-1.4.1/libs/maildir/maildirsearch.c:11:22: note: Function 'maildir_search_start_unicode' argument 2 names different: declaration 'string' definition 's'. courier-1.4.1/libs/maildir/maildirsearch.c:54:59: style:inconclusive: Function 'maildir_search_start_str' argument 1 names different: declaration 'engine' definition 'sei'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirsearch.h:61:59: note: Function 'maildir_search_start_str' argument 1 names different: declaration 'engine' definition 'sei'. courier-1.4.1/libs/maildir/maildirsearch.c:54:59: note: Function 'maildir_search_start_str' argument 1 names different: declaration 'engine' definition 'sei'. courier-1.4.1/libs/maildir/maildirsearch.c:55:21: style:inconclusive: Function 'maildir_search_start_str' argument 2 names different: declaration 'string' definition 's'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirsearch.h:62:21: note: Function 'maildir_search_start_str' argument 2 names different: declaration 'string' definition 's'. courier-1.4.1/libs/maildir/maildirsearch.c:55:21: note: Function 'maildir_search_start_str' argument 2 names different: declaration 'string' definition 's'. courier-1.4.1/libs/maildir/maildirsearch.h:146:9: style:inconclusive: Technically the member function 'mail::Search::getSearchLen' can be const. [functionConst] courier-1.4.1/libs/maildir/maildirsearch.h:170:7: style:inconclusive: Technically the member function 'mail::Search::atstart' can be const. [functionConst] courier-1.4.1/libs/maildir/maildirsearch.h:171:2: style:inconclusive: Technically the member function 'mail::Search::operatorbool' can be const. [functionConst] courier-1.4.1/libs/maildir/maildirsearch.h:151:29: performance: Function parameter 's' should be passed by const reference. [passedByValue] courier-1.4.1/libs/maildir/maildirsearch.h:151:44: performance: Function parameter 'chset' should be passed by const reference. [passedByValue] courier-1.4.1/libs/maildir/maildirshared.c:877:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirshared.c:889:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirshared.c:871:8: style: Parameter 'voidp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirshared.c:883:8: style: Parameter 'voidp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirshared2.c:66:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirwatch.c:375:8: style: Variable '*fdret' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/maildir/maildirwatch.c:360:8: note: *fdret is assigned courier-1.4.1/libs/maildir/maildirwatch.c:375:8: note: *fdret is overwritten courier-1.4.1/libs/maildir/maildirwatch.c:303:45: warning: Function 'maildirwatch_start' argument order different: declaration 'p, w' definition 'w, mc' [funcArgOrderDifferent] courier-1.4.1/libs/maildir/maildirwatch.h:79:45: note: Function 'maildirwatch_start' argument order different: declaration 'p, w' definition 'w, mc' courier-1.4.1/libs/maildir/maildirwatch.c:303:45: note: Function 'maildirwatch_start' argument order different: declaration 'p, w' definition 'w, mc' courier-1.4.1/libs/maildir/maildirwatch.c:353:56: style:inconclusive: Function 'maildirwatch_started' argument 1 names different: declaration 'w' definition 'mc'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirwatch.h:93:56: note: Function 'maildirwatch_started' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:353:56: note: Function 'maildirwatch_started' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:406:54: style:inconclusive: Function 'maildirwatch_check' argument 1 names different: declaration 'w' definition 'mc'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirwatch.h:109:54: note: Function 'maildirwatch_check' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:406:54: note: Function 'maildirwatch_check' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:496:53: style:inconclusive: Function 'maildirwatch_end' argument 1 names different: declaration 'w' definition 'mc'. [funcArgNamesDifferent] courier-1.4.1/libs/maildir/maildirwatch.h:117:53: note: Function 'maildirwatch_end' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:496:53: note: Function 'maildirwatch_end' argument 1 names different: declaration 'w' definition 'mc'. courier-1.4.1/libs/maildir/maildirwatch.c:203:56: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirwatch.c:496:53: style: Parameter 'mc' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildir/maildirwatchprog.c:112:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/maildirwatchprog.c:144:8: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildir/maildirwatchprog.c:85:6: note: Shadowed declaration courier-1.4.1/libs/maildir/maildirwatchprog.c:144:8: note: Shadow variable courier-1.4.1/libs/maildir/testmaildiraclt.c:97:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/testmaildiraclt.c:32:8: style: Variable 'cb' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/testmaildirfilter.c:28:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildir/testmaildirfilter.c:22:27: style: Variable 'r' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildir/testmaildirsearch.c:68:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/message.h:96:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/message.h:121:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/alarm.C:98:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/alarm.C:149:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_BLOCK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/alarm.C:156:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_UNBLOCK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.h:52:6: style:inconclusive: Technically the member function 'Mio::fd' can be const. [functionConst] courier-1.4.1/libs/maildrop/mio.h:61:6: style:inconclusive: Technically the member function 'Mio::errflag' can be const. [functionConst] courier-1.4.1/libs/maildrop/message.h:178:23: style:inconclusive: Technically the member function 'Message::MessageSize' can be const. [functionConst] courier-1.4.1/libs/maildrop/message.h:76:8: note: Technically the member function 'Message::MessageSize' can be const. courier-1.4.1/libs/maildrop/message.h:178:23: note: Technically the member function 'Message::MessageSize' can be const. courier-1.4.1/libs/maildrop/message.h:77:8: style:inconclusive: Technically the member function 'Message::MessageLines' can be const. [functionConst] courier-1.4.1/libs/maildrop/messageinfo.h:26:7: performance:inconclusive: Technically the member function 'MessageInfo::filtered' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/mio.h:80:7: warning: The class 'MioStdio' defines member function with name 'write' also defined in its parent class 'Mio'. [duplInheritedMember] courier-1.4.1/libs/maildrop/mio.h:65:7: note: Parent function 'Mio::write' courier-1.4.1/libs/maildrop/mio.h:80:7: note: Derived function 'MioStdio::write' courier-1.4.1/libs/maildrop/mio.h:77:2: style: Class 'MioStdio' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/mio.h:78:3: style: The destructor '~MioStdio' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/mio.h:40:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/mio.h:78:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/mio.h:79:6: style: The function 'write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/mio.h:51:14: note: Virtual function in base class courier-1.4.1/libs/maildrop/mio.h:79:6: note: Function in derived class courier-1.4.1/libs/maildrop/tempfile.h:34:7: style: The function 'cleanup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:21:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/tempfile.h:34:7: note: Function in derived class courier-1.4.1/libs/maildrop/tempfile.h:35:7: style: The function 'forked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:22:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/tempfile.h:35:7: note: Function in derived class courier-1.4.1/libs/maildrop/tempfile.h:46:3: style: The destructor '~TempFile' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:29:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/tempfile.h:46:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/alarmsleep.h:22:2: style: Class 'AlarmSleep' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/alarmsleep.h:19:7: style: The function 'handler' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:35:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/alarmsleep.h:19:7: note: Function in derived class courier-1.4.1/libs/maildrop/alarmsleep.h:23:3: style: The destructor '~AlarmSleep' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:33:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/alarmsleep.h:23:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/alarmtimer.h:22:6: style:inconclusive: Technically the member function 'AlarmTimer::Expired' can be const. [functionConst] courier-1.4.1/libs/maildrop/alarmtimer.C:19:18: warning: The class 'AlarmTimer' defines member function with name 'Set' also defined in its parent class 'Alarm'. [duplInheritedMember] courier-1.4.1/libs/maildrop/alarm.h:37:7: note: Parent function 'Alarm::Set' courier-1.4.1/libs/maildrop/alarmtimer.C:19:18: note: Derived function 'AlarmTimer::Set' courier-1.4.1/libs/maildrop/alarmtimer.h:16:7: style: The function 'handler' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:35:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/alarmtimer.h:16:7: note: Function in derived class courier-1.4.1/libs/maildrop/alarmtimer.h:21:3: style: The destructor '~AlarmTimer' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:33:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/alarmtimer.h:21:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/buffer.C:26:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/buffer.C:10:31: style:inconclusive: Function 'add_integer' argument 1 names different: declaration 'buf' definition 'b'. [funcArgNamesDifferent] courier-1.4.1/libs/maildrop/buffer.h:9:31: note: Function 'add_integer' argument 1 names different: declaration 'buf' definition 'b'. courier-1.4.1/libs/maildrop/buffer.C:10:31: note: Function 'add_integer' argument 1 names different: declaration 'buf' definition 'b'. courier-1.4.1/libs/maildrop/buffer.C:24:42: style:inconclusive: Function 'add_number' argument 2 names different: declaration 'val' definition 'd'. [funcArgNamesDifferent] courier-1.4.1/libs/maildrop/buffer.h:8:42: note: Function 'add_number' argument 2 names different: declaration 'val' definition 'd'. courier-1.4.1/libs/maildrop/buffer.C:24:42: note: Function 'add_number' argument 2 names different: declaration 'val' definition 'd'. courier-1.4.1/libs/maildrop/deliver.C:195:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/deliver.C:274:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NSIG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/formatmbox.h:50:2: warning: Member variable 'FormatMbox::do_escape' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/formatmbox.h:50:2: warning: Member variable 'FormatMbox::next_func' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/formatmbox.h:50:2: warning: Member variable 'FormatMbox::inheader' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/formatmbox.h:50:2: warning: Member variable 'FormatMbox::msgsize' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/dotlockrefresh.h:25:2: style: Class 'DotLockRefresh' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/dotlockrefresh.h:22:7: style: The function 'handler' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:35:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/dotlockrefresh.h:22:7: note: Function in derived class courier-1.4.1/libs/maildrop/dotlockrefresh.h:26:3: style: The destructor '~DotLockRefresh' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/alarm.h:33:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/dotlockrefresh.h:26:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/dotlock.h:25:3: style: The destructor '~DotLock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/tempfile.h:46:3: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/dotlock.h:25:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/deliverdotlock.h:20:7: style: The function 'cleanup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/tempfile.h:34:7: note: Virtual function in base class courier-1.4.1/libs/maildrop/deliverdotlock.h:20:7: note: Function in derived class courier-1.4.1/libs/maildrop/deliverdotlock.h:26:3: style: The destructor '~DeliverDotLock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/dotlock.h:25:3: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/deliverdotlock.h:26:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/filelock.h:17:7: style: The function 'cleanup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:21:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/filelock.h:17:7: note: Function in derived class courier-1.4.1/libs/maildrop/filelock.h:18:7: style: The function 'forked' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:22:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/filelock.h:18:7: note: Function in derived class courier-1.4.1/libs/maildrop/filelock.h:23:11: style: The destructor '~FileLock' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/exittrap.h:29:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/filelock.h:23:11: note: Destructor in derived class courier-1.4.1/libs/maildrop/deliver.C:123:14: style: Variable 'pipe.fds[1]' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/maildrop/deliver.C:56:14: style: Unused variable: b [unusedVariable] courier-1.4.1/libs/maildrop/deliver.C:186:15: style: Unused variable: name_buf [unusedVariable] courier-1.4.1/libs/maildrop/deliver.C:258:14: style: Unused variable: b [unusedVariable] courier-1.4.1/libs/maildrop/dotlock.C:43:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dotlock.C:149:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCKEXT_DEF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dotlock.C:22:10: warning: Member variable 'DotLock::refresh_interval' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/alarmtimer.h:20:7: warning: The class 'AlarmTimer' defines member function with name 'Set' also defined in its parent class 'Alarm'. [duplInheritedMember] courier-1.4.1/libs/maildrop/alarm.h:37:7: note: Parent function 'Alarm::Set' courier-1.4.1/libs/maildrop/alarmtimer.h:20:7: note: Derived function 'AlarmTimer::Set' courier-1.4.1/libs/maildrop/dotlock.C:103:26: style: Clarify calculation precedence for '-' and '?'. [clarifyCalculation] courier-1.4.1/libs/maildrop/dotlockmaildrop.C:9:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCKSLEEP_DEF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dotlockmaildrop.C:14:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCKTIMEOUT_DEF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dotlockmaildrop.C:19:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOCKREFRESH_DEF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:78:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:124:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:236:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:244:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:303:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:382:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/dovecotauth.c:288:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/maildrop/dovecotauth.c:295:14: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/maildrop/dovecotauth.c:323:22: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/libs/maildrop/dovecotauth.c:321:9: style: Condition 'a.sysusername' is always true [knownConditionTrueFalse] courier-1.4.1/libs/maildrop/dovecotauth.c:372:3: error: Memory leak: cmdbuf [memleak] courier-1.4.1/libs/maildrop/dovecotauth.c:323:20: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildrop/dovecotauth.c:355:14: style: Variable 'cmdpart1' can be declared as const array [constVariable] courier-1.4.1/libs/maildrop/dovecotauth.c:356:14: style: Variable 'cmdpart2' can be declared as const array [constVariable] courier-1.4.1/libs/maildrop/filelock.C:44:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/filelock.C:55:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/filter.C:177:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/filter.C:278:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/filter.C:184:7: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/filter.C:173:6: note: Shadowed declaration courier-1.4.1/libs/maildrop/filter.C:184:7: note: Shadow variable courier-1.4.1/libs/maildrop/filter.C:159:16: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/maildrop/formatmbox.C:64:6: style: Condition '!msglinebuf.c_str()' is always false [knownConditionTrueFalse] courier-1.4.1/libs/maildrop/funcs.C:131:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/funcs.C:129:6: style: Condition '!procgroup_set' is always true [knownConditionTrueFalse] courier-1.4.1/libs/maildrop/lexer.C:15:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/lexer.h:48:2: warning: Member variable 'Lexer::linenum' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/lexer.h:48:2: warning: Member variable 'Lexer::lasttokentype' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/lexer.C:21:13: performance:inconclusive: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/lexer.h:45:7: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/lexer.C:21:13: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/lexer.C:509:13: style:inconclusive: Technically the member function 'Lexer::errmsg' can be const. [functionConst] courier-1.4.1/libs/maildrop/lexer.h:56:7: note: Technically the member function 'Lexer::errmsg' can be const. courier-1.4.1/libs/maildrop/lexer.C:509:13: note: Technically the member function 'Lexer::errmsg' can be const. courier-1.4.1/libs/maildrop/lexer.h:59:6: style:inconclusive: Technically the member function 'Lexer::Linenum' can be const. [functionConst] courier-1.4.1/libs/maildrop/lexer.C:50:16: style: Local variable 'errmsg' shadows outer function [shadowFunction] courier-1.4.1/libs/maildrop/lexer.h:55:7: note: Shadowed declaration courier-1.4.1/libs/maildrop/lexer.C:50:16: note: Shadow variable courier-1.4.1/libs/maildrop/mailbot.c:62:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:68:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:122:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:430:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:440:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:498:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:525:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:536:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:688:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mailbot.c:303:19: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/maildrop/mailbot.c:603:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/maildrop/mailbot.c:1000:20: style: Local variable 'rfcp' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/mailbot.c:668:18: note: Shadowed declaration courier-1.4.1/libs/maildrop/mailbot.c:1000:20: note: Shadow variable courier-1.4.1/libs/maildrop/mailbot.c:1006:16: style: Local variable 'charset' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/mailbot.c:46:20: note: Shadowed declaration courier-1.4.1/libs/maildrop/mailbot.c:1006:16: note: Shadow variable courier-1.4.1/libs/maildrop/mailbot.c:486:47: style: Parameter 'ptr' can be declared as pointer to const. However it seems that 'mimeautoreply_writesig_func' is a callback function, if 'ptr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildrop/mailbot.c:941:31: note: You might need to cast the function pointer here courier-1.4.1/libs/maildrop/mailbot.c:486:47: note: Parameter 'ptr' can be declared as pointer to const courier-1.4.1/libs/maildrop/mailbot.c:490:62: style: Parameter 'ptr' can be declared as pointer to const. However it seems that 'mimeautoreply_myaddr_func' is a callback function, if 'ptr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/maildrop/mailbot.c:943:29: note: You might need to cast the function pointer here courier-1.4.1/libs/maildrop/mailbot.c:490:62: note: Parameter 'ptr' can be declared as pointer to const courier-1.4.1/libs/maildrop/maildir.C:180:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/maildir.C:213:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/maildir.C:202:22: style: Redundant condition: The condition '*keywords_s' is redundant since '*keywords_s == ','' is sufficient. [redundantCondition] courier-1.4.1/libs/maildrop/maildir.C:233:24: style: Redundant condition: The condition '*keywords_s' is redundant since '*keywords_s == ','' is sufficient. [redundantCondition] courier-1.4.1/libs/maildrop/maildir.C:146:8: style: The if condition is the same as the previous if condition [duplicateCondition] courier-1.4.1/libs/maildrop/maildir.C:131:8: note: First condition courier-1.4.1/libs/maildrop/maildir.C:146:8: note: Second condition courier-1.4.1/libs/maildrop/maildir.C:320:17: error: Using pointer to local variable 'dir' that may be invalid. [invalidContainer] courier-1.4.1/libs/maildrop/maildir.C:303:26: note: Pointer to container is created here. courier-1.4.1/libs/maildrop/maildir.C:306:7: note: Assuming condition is true. courier-1.4.1/libs/maildrop/maildir.C:308:8: note: After calling 'resize', iterators or references to the container's data may be invalid . courier-1.4.1/libs/maildrop/maildir.C:288:15: note: Variable created here. courier-1.4.1/libs/maildrop/maildir.C:320:17: note: Using pointer to local variable 'dir' that may be invalid. courier-1.4.1/libs/maildrop/maildir.C:111:15: style: Unused variable: name_buf [unusedVariable] courier-1.4.1/libs/maildrop/maildir.C:125:16: style: Unused variable: b [unusedVariable] courier-1.4.1/libs/maildrop/maildrop.C:53:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EX_TEMPFAIL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/maildrop.C:60:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NSIG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/maildrop.C:100:13: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/maildrop.C:58:5: note: Shadowed declaration courier-1.4.1/libs/maildrop/maildrop.C:100:13: note: Shadow variable courier-1.4.1/libs/maildrop/main.C:185:37: error: There is an unknown macro here somewhere. Configuration is required. If VERSION is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/maildrop/message.C:84:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SMALLMSG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/message.C:156:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SMALLMSG [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/message.C:35:10: warning: Member variable 'Message::msglines' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/message.C:209:9: warning: Either the condition '!extra_headers' is redundant or there is possible null pointer dereference: extra_headers. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/message.C:208:6: note: Assuming that condition '!extra_headers' is not redundant courier-1.4.1/libs/maildrop/message.C:209:9: note: Null pointer dereference courier-1.4.1/libs/maildrop/message.C:210:2: warning: Either the condition '!extra_headers' is redundant or there is possible null pointer dereference: extra_headers. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/message.C:208:6: note: Assuming that condition '!extra_headers' is not redundant courier-1.4.1/libs/maildrop/message.C:210:2: note: Null pointer dereference courier-1.4.1/libs/maildrop/message.C:212:8: warning: Either the condition '!extra_headers' is redundant or there is possible null pointer dereference: extra_headersptr. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/message.C:208:6: note: Assuming that condition '!extra_headers' is not redundant courier-1.4.1/libs/maildrop/message.C:211:19: note: Assignment 'extra_headersptr=extra_headers', assigned value is 0 courier-1.4.1/libs/maildrop/message.C:212:8: note: Null pointer dereference courier-1.4.1/libs/maildrop/message.C:134:27: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/message.C:136:17: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/mio.C:17:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.C:26:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.C:35:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.C:44:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.C:53:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/mio.C:60:6: warning: Member variable 'Mio::readptr' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/mio.C:60:6: warning: Member variable 'Mio::writeptr' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/mio.C:60:6: warning: Member variable 'Mio::readstartpos' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/mio.C:60:6: warning: Member variable 'Mio::readsize' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/mio.C:60:6: warning: Member variable 'Mio::buf' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/mio.C:209:12: style:inconclusive: Technically the member function 'Mio::tell' can be const. [functionConst] courier-1.4.1/libs/maildrop/mio.h:50:8: note: Technically the member function 'Mio::tell' can be const. courier-1.4.1/libs/maildrop/mio.C:209:12: note: Technically the member function 'Mio::tell' can be const. courier-1.4.1/libs/maildrop/mio.C:98:28: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/mio.C:168:26: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::match_top_header' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::match_other_headers' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::match_body' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::weight1' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::weight2' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::scoring_match' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::score' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/search.h:64:2: warning: Member variable 'Search::foreachp_arg' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/recipe.C:8:9: warning: Member variable 'Recipe::lex' is not initialized in the constructor. [uninitMemberVar] courier-1.4.1/libs/maildrop/recipenode.h:125:2: style: Class 'RecipeNode' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/recipe.C:30:2: warning: Either the condition '!n' is redundant or there is possible null pointer dereference: n. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/recipe.C:28:6: note: Assuming that condition '!n' is not redundant courier-1.4.1/libs/maildrop/recipe.C:30:2: note: Null pointer dereference courier-1.4.1/libs/maildrop/recipe.C:31:2: warning: Either the condition '!n' is redundant or there is possible null pointer dereference: n. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/recipe.C:28:6: note: Assuming that condition '!n' is not redundant courier-1.4.1/libs/maildrop/recipe.C:31:2: note: Null pointer dereference courier-1.4.1/libs/maildrop/recipe.C:47:13: style: The scope of the variable 'b' can be reduced. [variableScope] courier-1.4.1/libs/maildrop/recipe.C:40:33: style: Parameter 'r' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/recipenode.C:730:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/recipenode.C:1415:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/recipenode.C:1562:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/recipenode.C:160:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:165:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:170:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:175:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:180:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:185:7: style: Boolean value assigned to floating point variable. [assignBoolToFloat] courier-1.4.1/libs/maildrop/recipenode.C:1398:18: performance:inconclusive: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:137:7: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1398:18: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1505:17: performance:inconclusive: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:139:6: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1505:17: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1223:18: performance:inconclusive: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:140:7: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1223:18: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1552:17: performance:inconclusive: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:141:6: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1552:17: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:650:5: style: Throwing a copy of the caught exception instead of rethrowing the original exception. [exceptRethrowCopy] courier-1.4.1/libs/maildrop/recipenode.C:1414:15: warning:inconclusive: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/recipenode.C:1407:6: note: Assuming that condition '!a' is not redundant courier-1.4.1/libs/maildrop/recipenode.C:1414:15: note: Null pointer dereference courier-1.4.1/libs/maildrop/recipenode.C:1524:14: warning:inconclusive: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/recipenode.C:1518:6: note: Assuming that condition '!a' is not redundant courier-1.4.1/libs/maildrop/recipenode.C:1524:14: note: Null pointer dereference courier-1.4.1/libs/maildrop/recipenode.C:792:10: style: Local variable 'r' shadows outer argument [shadowArgument] courier-1.4.1/libs/maildrop/recipenode.C:66:35: note: Shadowed declaration courier-1.4.1/libs/maildrop/recipenode.C:792:10: note: Shadow variable courier-1.4.1/libs/maildrop/recipenode.C:1417:11: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/recipenode.C:1401:18: note: Shadowed declaration courier-1.4.1/libs/maildrop/recipenode.C:1417:11: note: Shadow variable courier-1.4.1/libs/maildrop/recipenode.C:1526:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/recipenode.C:1512:18: note: Shadowed declaration courier-1.4.1/libs/maildrop/recipenode.C:1526:9: note: Shadow variable courier-1.4.1/libs/maildrop/recipenode.C:843:16: style: Variable 'v' can be declared as reference to const [constVariableReference] courier-1.4.1/libs/maildrop/recipenode.C:1445:44: style: Parameter 'buf' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/recipenode.C:1505:62: style: Parameter 'header' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/recipenode.C:1552:39: style: Parameter 'strng' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/recipenode.C:1552:59: style: Parameter 'filename' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/regexpnode.h:30:2: style: Class 'RegExpNode' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/reformail.C:65:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:71:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:246:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:665:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:708:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:819:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:855:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:1153:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/reformail.C:677:6: style: The scope of the variable 'c' can be reduced. [variableScope] courier-1.4.1/libs/maildrop/reformail.C:896:15: style: The scope of the variable 'buf' can be reduced. [variableScope] courier-1.4.1/libs/maildrop/reformail.C:221:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/reformail.C:170:13: note: Shadowed declaration courier-1.4.1/libs/maildrop/reformail.C:221:16: note: Shadow variable courier-1.4.1/libs/maildrop/reformail.C:248:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/reformail.C:170:13: note: Shadowed declaration courier-1.4.1/libs/maildrop/reformail.C:248:10: note: Shadow variable courier-1.4.1/libs/maildrop/reformail.C:699:9: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/reformail.C:677:6: note: Shadowed declaration courier-1.4.1/libs/maildrop/reformail.C:699:9: note: Shadow variable courier-1.4.1/libs/maildrop/reformail.C:896:15: style: Local variable 'buf' shadows outer variable [shadowVariable] courier-1.4.1/libs/maildrop/reformail.C:843:13: note: Shadowed declaration courier-1.4.1/libs/maildrop/reformail.C:896:15: note: Shadow variable courier-1.4.1/libs/maildrop/reformail.C:429:31: style: Parameter 'hdrs' can be declared as reference to const [constParameterReference] courier-1.4.1/libs/maildrop/reformail.C:815:7: performance: Passing the result of c_str() to a function that takes std::string as argument no. 2 is slow and redundant. [stlcstrParam] courier-1.4.1/libs/maildrop/reformail.C:823:7: performance: Passing the result of c_str() to a function that takes std::string as argument no. 2 is slow and redundant. [stlcstrParam] courier-1.4.1/libs/maildrop/rematchmsg.h:46:11: style: The destructor '~ReMatchMsg' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:26:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/rematchmsg.h:46:11: note: Destructor in derived class courier-1.4.1/libs/maildrop/rematchmsg.h:48:6: style: The function 'NextChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:28:14: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchmsg.h:48:6: note: Function in derived class courier-1.4.1/libs/maildrop/rematchmsg.h:49:6: style: The function 'CurrentChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:29:14: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchmsg.h:49:6: note: Function in derived class courier-1.4.1/libs/maildrop/rematchmsg.h:50:8: style: The function 'GetCurrentPos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:30:16: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchmsg.h:50:8: note: Function in derived class courier-1.4.1/libs/maildrop/rematchmsg.h:51:7: style: The function 'SetCurrentPos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:31:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchmsg.h:51:7: note: Function in derived class courier-1.4.1/libs/maildrop/rematchmsg.C:28:5: style: The scope of the variable 'c' can be reduced. [variableScope] courier-1.4.1/libs/maildrop/rematchstr.h:22:2: style: Class 'ReMatchStr' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] courier-1.4.1/libs/maildrop/rematchstr.h:23:3: style: The destructor '~ReMatchStr' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:26:11: note: Virtual destructor in base class courier-1.4.1/libs/maildrop/rematchstr.h:23:3: note: Destructor in derived class courier-1.4.1/libs/maildrop/rematchstr.h:25:6: style: The function 'NextChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:28:14: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchstr.h:25:6: note: Function in derived class courier-1.4.1/libs/maildrop/rematchstr.h:26:6: style: The function 'CurrentChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:29:14: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchstr.h:26:6: note: Function in derived class courier-1.4.1/libs/maildrop/rematchstr.h:27:8: style: The function 'GetCurrentPos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:30:16: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchstr.h:27:8: note: Function in derived class courier-1.4.1/libs/maildrop/rematchstr.h:28:7: style: The function 'SetCurrentPos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] courier-1.4.1/libs/maildrop/rematch.h:31:15: note: Virtual function in base class courier-1.4.1/libs/maildrop/rematchstr.h:28:7: note: Function in derived class courier-1.4.1/libs/maildrop/search.C:57:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PCRE2_CASELESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/search.C:199:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045_DECODEMSG_NOHEADERS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/search.C:299:14: performance:inconclusive: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/search.h:73:7: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/search.C:299:14: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/search.C:212:26: style: Condition 'current_line.size()>=1' is always false [knownConditionTrueFalse] courier-1.4.1/libs/maildrop/search.C:74:8: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/search.C:219:10: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/search.C:330:14: style: C-style pointer casting [cstyleCast] courier-1.4.1/libs/maildrop/search.C:304:14: style: The scope of the variable 'varname' can be reduced. [variableScope] courier-1.4.1/libs/maildrop/search.C:176:33: style: Checking if unsigned expression 'ovector_count' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/maildrop/search.C:300:21: style: Parameter 'offsets' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/maildrop/tempfile.C:67:9: warning: Either the condition '!filename' is redundant or there is possible null pointer dereference: filename. [nullPointerRedundantCheck] courier-1.4.1/libs/maildrop/tempfile.C:66:6: note: Assuming that condition '!filename' is not redundant courier-1.4.1/libs/maildrop/tempfile.C:67:9: note: Null pointer dereference courier-1.4.1/libs/maildrop/testtimer.C:29:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/maildrop/testtimer.C:25:3: style: Instance of 'AlarmSleep' object is destroyed immediately. [unusedScopedObject] courier-1.4.1/libs/maildrop/testtimer.C:40:3: style: Instance of 'AlarmSleep' object is destroyed immediately. [unusedScopedObject] courier-1.4.1/libs/maildrop/token.C:78:20: style:inconclusive: Technically the member function 'Token::Name' can be const. [functionConst] courier-1.4.1/libs/maildrop/token.h:104:14: note: Technically the member function 'Token::Name' can be const. courier-1.4.1/libs/maildrop/token.C:78:20: note: Technically the member function 'Token::Name' can be const. courier-1.4.1/libs/maildrop/varlist.C:78:7: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] courier-1.4.1/libs/makedat/makedatprog.c:34:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/makedat/makedatprog.c:68:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/makedat/makedatprog.c:86:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/makedat/makedatprog.c:47:8: style: Variable 'buflen' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/md5/md5.c:37:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MD5_WORD [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/md5/md5.c:195:22: style: Variable 'zero' can be declared as const array [constVariable] courier-1.4.1/libs/md5/md5.c:237:45: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/md5/md5_hash.c:18:6: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/md5/md5_hash.c:18:10: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/md5/md5_hash.c:18:14: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/md5/redhat-crypt-md5.c:112:17: style: Variable 'd' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/numlib/changeuidgid.c:91:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERANGE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/numlib/changeuidgid.c:185:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERANGE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:46:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:91:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:189:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:581:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1219:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1422:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1539:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1582:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1651:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1673:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1698:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rfc2047_qp_allow_any [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:1716:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcp.c:134:20: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] courier-1.4.1/libs/pcp/pcp.c:171:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcp.c:176:21: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcp.c:657:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcp.c:321:21: style: Condition '*ptr' is always false [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcp.c:303:32: note: Assignment 'book=NULL', assigned value is 0 courier-1.4.1/libs/pcp/pcp.c:318:13: note: Assuming condition is false courier-1.4.1/libs/pcp/pcp.c:321:21: note: Condition '*ptr' is always false courier-1.4.1/libs/pcp/pcp.c:718:17: style: Variable 'r.callback_arg' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/pcp/pcp.c:715:17: note: r.callback_arg is assigned courier-1.4.1/libs/pcp/pcp.c:718:17: note: r.callback_arg is overwritten courier-1.4.1/libs/pcp/pcp.c:172:17: style: Local variable 'cp' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcp.c:149:14: note: Shadowed declaration courier-1.4.1/libs/pcp/pcp.c:172:17: note: Shadow variable courier-1.4.1/libs/pcp/pcp.c:1443:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcp.c:1407:8: note: Shadowed declaration courier-1.4.1/libs/pcp/pcp.c:1443:15: note: Shadow variable courier-1.4.1/libs/pcp/pcp.c:1638:14: style: Local variable 'charset' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcp.c:42:20: note: Shadowed declaration courier-1.4.1/libs/pcp/pcp.c:1638:14: note: Shadow variable courier-1.4.1/libs/pcp/pcp.c:1881:8: style: Local variable 'flags' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcp.c:1710:6: note: Shadowed declaration courier-1.4.1/libs/pcp/pcp.c:1881:8: note: Shadow variable courier-1.4.1/libs/pcp/pcp.c:321:21: style: Pointer expression '*ptr' converted to bool is always false. [knownPointerToBool] courier-1.4.1/libs/pcp/pcp.c:303:32: note: Assignment 'book=NULL', assigned value is 0 courier-1.4.1/libs/pcp/pcp.c:318:13: note: Assuming condition is false courier-1.4.1/libs/pcp/pcp.c:321:21: note: Pointer expression '*ptr' converted to bool is always false. courier-1.4.1/libs/pcp/pcp.c:147:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:171:11: style: Variable 'userid' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:176:12: style: Variable 'password' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:563:25: style: Variable 'ap' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:564:25: style: Variable 'bp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:654:14: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:818:57: style: Parameter 'xl' can be declared as pointer to const. However it seems that 'list_callback_saveindex' is a callback function, if 'xl' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:678:25: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:818:57: note: Parameter 'xl' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:849:46: style: Parameter 'r' can be declared as pointer to const. However it seems that 'save_retr_status' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:717:26: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:849:46: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:862:47: style: Parameter 'ri' can be declared as pointer to const. However it seems that 'save_retr_headers' is a callback function, if 'ri' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:728:27: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:862:47: note: Parameter 'ri' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1050:26: style: Variable 'ap' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:1051:26: style: Variable 'bp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:1061:42: style: Parameter 'r' can be declared as pointer to const. However it seems that 'do_show_retr' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:999:23: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:1061:42: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1166:49: style: Parameter 'rfc' can be declared as pointer to const. However it seems that 'list_msg_rfc822_part' is a callback function, if 'rfc' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:1194:13: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:1166:49: note: Parameter 'rfc' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1259:52: style: Parameter 'rfc' can be declared as pointer to const. However it seems that 'list_msg_mime_multipart' is a callback function, if 'rfc' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:1191:13: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:1259:52: note: Parameter 'rfc' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1280:64: style: Parameter 'rfc' can be declared as pointer to const. However it seems that 'list_msg_mime_multipart_alternative' is a callback function, if 'rfc' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:1189:13: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:1280:64: note: Parameter 'rfc' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1297:64: style: Parameter 'voidptr' can be declared as pointer to const. However it seems that 'textplain_output' is a callback function, if 'voidptr' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcp.c:1331:7: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcp.c:1297:64: note: Parameter 'voidptr' can be declared as pointer to const courier-1.4.1/libs/pcp/pcp.c:1390:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcp.c:1441:18: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpaddcommon.c:38:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpaddcommon.c:87:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpaddcommon.c:49:6: style: Condition 'n' is always true [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcpaddcommon.c:36:8: note: Assuming that condition 'n==0' is not redundant courier-1.4.1/libs/pcp/pcpaddcommon.c:43:6: note: Assuming condition is false courier-1.4.1/libs/pcp/pcpaddcommon.c:49:6: note: Condition 'n' is always true courier-1.4.1/libs/pcp/pcpd.c:96:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:241:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:296:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:417:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:579:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:851:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:1472:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:1645:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2059:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PUBDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2133:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2155:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2246:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2320:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2380:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:2576:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpd.c:180:27: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] courier-1.4.1/libs/pcp/pcpd.c:571:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:832:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1033:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1039:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1271:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1318:12: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1508:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1558:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1561:20: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1567:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1607:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1661:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1677:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1854:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:1877:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:2430:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:2440:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:2460:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:2519:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpd.c:2600:6: portability: Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'. [prohibitedgetgrnamCalled] courier-1.4.1/libs/pcp/pcpd.c:2619:6: portability: Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'. [prohibitedgetgrnamCalled] courier-1.4.1/libs/pcp/pcpd.c:603:4: warning: Either the condition 'pcp' is redundant or there is possible null pointer dereference: pcp. [nullPointerRedundantCheck] courier-1.4.1/libs/pcp/pcpd.c:594:7: note: Assuming that condition 'pcp' is not redundant courier-1.4.1/libs/pcp/pcpd.c:603:4: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpd.c:1586:17: warning: Either the condition 'q' is redundant or there is possible null pointer dereference: q. [nullPointerRedundantCheck] courier-1.4.1/libs/pcp/pcpd.c:1579:12: note: Assuming that condition 'q' is not redundant courier-1.4.1/libs/pcp/pcpd.c:1586:17: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpd.c:926:17: style: Variable 'eci.proxy_addr' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/pcp/pcpd.c:915:18: note: eci.proxy_addr is assigned courier-1.4.1/libs/pcp/pcpd.c:926:17: note: eci.proxy_addr is overwritten courier-1.4.1/libs/pcp/pcpd.c:455:24: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/pcp/pcpd.c:402:40: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:455:24: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:575:22: style: Local variable 'pcp' shadows outer argument [shadowArgument] courier-1.4.1/libs/pcp/pcpd.c:556:57: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:575:22: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:632:25: style: Local variable 'se' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpd.c:558:24: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:632:25: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:938:34: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpd.c:824:14: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:938:34: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:1433:19: style: Local variable 'list' shadows outer function [shadowFunction] courier-1.4.1/libs/pcp/pcpd.c:1022:12: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:1433:19: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:1791:16: style: Local variable 'proxy_userid' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpd.c:40:14: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:1791:16: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:1867:25: style: Local variable 'list' shadows outer function [shadowFunction] courier-1.4.1/libs/pcp/pcpd.c:1022:12: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:1867:25: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:1868:25: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/pcp/pcpd.c:1506:42: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpd.c:1868:25: note: Shadow variable courier-1.4.1/libs/pcp/pcpd.c:64:34: style: Parameter 'p' can be declared as pointer to const. However it seems that 'inactive' is a callback function, if 'p' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1989:29: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:64:34: note: Parameter 'p' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:64:43: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'inactive' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1989:29: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:64:43: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:180:24: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpd.c:998:47: style: Parameter 'p' can be declared as pointer to const. However it seems that 'list_callback' is a callback function, if 'p' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1030:31: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:998:47: note: Parameter 'p' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1119:48: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_date' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1295:25: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1119:48: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1132:56: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_participants' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1302:5: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1132:56: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1134:17: style: Parameter 'vp' can be declared as pointer to const. However it seems that 'callback_retr_participants' is a callback function, if 'vp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1302:5: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1134:17: note: Parameter 'vp' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1140:50: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_status' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1308:27: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1140:50: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1180:51: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_headers' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1288:28: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1180:51: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1218:51: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_message' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1280:27: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1218:51: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1243:47: style: Parameter 'r' can be declared as pointer to const. However it seems that 'callback_retr_end' is a callback function, if 'r' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpd.c:1289:24: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpd.c:1243:47: note: Parameter 'r' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpd.c:1245:19: style: Variable 'ri' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpd.c:1607:9: style: Variable 'e' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpd.c:1163:8: style: Variable 'comma' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/pcp/pcpdauth.c:58:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauth.c:69:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauth.c:90:21: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/libs/pcp/pcpdauth.c:90:18: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdauthme.c:45:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HOSTNAMEFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauthtoken.c:90:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RANDTOKENFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauthtoken.c:122:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RANDTOKENFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauthtoken.c:174:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauthtoken.c:198:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdauthtoken.c:273:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIMEOUT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:100:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:271:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:285:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:310:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:406:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:603:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:680:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:790:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:846:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:867:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:1438:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:1576:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:1927:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable start [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:1986:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:2114:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:2183:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:2378:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:2399:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:2429:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpdir.c:1633:22: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/pcp/pcpdir.c:1161:3: error: Resource leak: fp [resourceLeak] courier-1.4.1/libs/pcp/pcpdir.c:1599:6: warning: If memory allocation fails, then there is a possible null pointer dereference: l [nullPointerOutOfMemory] courier-1.4.1/libs/pcp/pcpdir.c:1598:14: note: Assuming allocation function fails courier-1.4.1/libs/pcp/pcpdir.c:1598:14: note: Assignment 'l=malloc(sizeof(*list))', assigned value is 0 courier-1.4.1/libs/pcp/pcpdir.c:1599:6: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpdir.c:1600:6: warning: If memory allocation fails, then there is a possible null pointer dereference: l [nullPointerOutOfMemory] courier-1.4.1/libs/pcp/pcpdir.c:1598:14: note: Assuming allocation function fails courier-1.4.1/libs/pcp/pcpdir.c:1598:14: note: Assignment 'l=malloc(sizeof(*list))', assigned value is 0 courier-1.4.1/libs/pcp/pcpdir.c:1600:6: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpdir.c:1218:24: style: Checking if unsigned expression 'ci->n_event_times' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/pcp/pcpdir.c:1413:19: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpdir.c:1363:18: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpdir.c:1413:19: note: Shadow variable courier-1.4.1/libs/pcp/pcpdir.c:1629:10: style: Local variable 'now' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpdir.c:1519:9: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpdir.c:1629:10: note: Shadow variable courier-1.4.1/libs/pcp/pcpdir.c:2062:23: style: Local variable 'pi' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpdir.c:2028:22: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpdir.c:2062:23: note: Shadow variable courier-1.4.1/libs/pcp/pcpdir.c:98:39: style: Parameter 'pcp' can be declared as pointer to const. However it seems that 'errmsg' is a callback function, if 'pcp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpdir.c:208:22: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpdir.c:98:39: note: Parameter 'pcp' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpdir.c:103:30: style: Parameter 'pcp' can be declared as pointer to const. However it seems that 'noop' is a callback function, if 'pcp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpdir.c:210:20: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpdir.c:103:30: note: Parameter 'pcp' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpdir.c:107:45: style: Parameter 'pcp' can be declared as pointer to const. However it seems that 'getauthtoken' is a callback function, if 'pcp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpdir.c:164:25: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpdir.c:107:45: note: Parameter 'pcp' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpdir.c:251:41: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:265:41: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:280:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:302:43: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:572:44: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:787:68: style: Parameter 'ne' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:892:46: style: Parameter 'pi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:900:46: style: Parameter 'pi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:902:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:918:41: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:918:65: style: Parameter 'pi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:921:12: style: Variable 'r' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:940:52: style: Parameter 'pi' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:943:12: style: Variable 'r' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:1152:39: style: Parameter 'pd' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpdir.c:1627:18: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:1823:41: style: Parameter 'pd' can be declared as pointer to const. However it seems that 'listallevents' is a callback function, if 'pd' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpdir.c:189:3: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpdir.c:1823:41: note: Parameter 'pd' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpdir.c:2069:12: style: Variable 'id' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpdir.c:2490:35: style: Parameter 'pd' can be declared as pointer to const. However it seems that 'listacl' is a callback function, if 'pd' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpdir.c:216:13: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpdir.c:2490:35: note: Parameter 'pd' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpdir.c:2390:5: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/pcp/pcpgmtime.c:59:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:77:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:92:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:98:8: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:109:10: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:119:9: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:143:19: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/pcp/pcpgmtime.c:48:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpgmtime.c:143:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcplocale.c:899:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcplocale.c:952:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcplocale.c:30:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:51:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:71:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:135:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:197:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:212:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:235:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:291:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:307:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:319:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:339:11: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:351:11: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:555:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:564:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:580:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:595:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:612:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:628:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:646:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:680:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:701:16: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:812:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:839:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcplocale.c:26:6: style: Condition 'am_buf' is always false [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcplocale.c:20:15: note: Assignment 'am_buf=0', assigned value is 0 courier-1.4.1/libs/pcp/pcplocale.c:26:6: note: Condition 'am_buf' is always false courier-1.4.1/libs/pcp/pcplocale.c:47:6: style: Condition 'am_buf' is always false [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcplocale.c:41:15: note: Assignment 'am_buf=0', assigned value is 0 courier-1.4.1/libs/pcp/pcplocale.c:47:6: note: Condition 'am_buf' is always false courier-1.4.1/libs/pcp/pcplocale.c:596:21: warning: Either the condition '!tmptr' is redundant or there is possible null pointer dereference: tmptr. [nullPointerRedundantCheck] courier-1.4.1/libs/pcp/pcplocale.c:598:6: note: Assuming that condition '!tmptr' is not redundant courier-1.4.1/libs/pcp/pcplocale.c:596:21: note: Null pointer dereference courier-1.4.1/libs/pcp/pcplocale.c:849:54: style: Checking if unsigned expression 'strftime(datebuf,sizeof(datebuf),"%x",tmptr)' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/pcp/pcplocale.c:852:54: style: Checking if unsigned expression 'strftime(timebuf,sizeof(timebuf),"%X",tmptr)' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/pcp/pcplocale.c:719:13: style:inconclusive: Function 'pcp_parse_datetime_until' argument 6 names different: declaration 'recurring_time' definition 'recurring_type'. [funcArgNamesDifferent] courier-1.4.1/libs/pcp/pcp.h:360:13: note: Function 'pcp_parse_datetime_until' argument 6 names different: declaration 'recurring_time' definition 'recurring_type'. courier-1.4.1/libs/pcp/pcplocale.c:719:13: note: Function 'pcp_parse_datetime_until' argument 6 names different: declaration 'recurring_time' definition 'recurring_type'. courier-1.4.1/libs/pcp/pcplocale.c:195:14: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcplocale.c:212:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcplocale.c:223:40: style: Parameter 'mon' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcplocale.c:223:50: style: Parameter 'day' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcplocale.c:226:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcplocale.c:257:38: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcplocale.c:726:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcplocale.c:839:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpmksocket.c:93:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpmksocket.c:65:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/pcp/pcpmksocket.c:44:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpnet.c:106:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:120:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:218:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:250:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:304:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:339:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:429:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:542:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:754:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:879:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:904:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:956:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1074:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1401:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1500:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1536:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1616:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1654:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1719:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1792:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:2002:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:2121:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:2208:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/pcpnet.c:1896:3: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/pcp/pcpnet.c:1916:3: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/pcp/pcpnet.c:1939:3: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/pcp/pcpnet.c:2006:2: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/pcp/pcpnet.c:490:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/pcp/pcpnet.c:1970:16: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/pcp/pcpnet.c:779:13: style: Condition 'strchr(password,'\n')' is always false [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcpnet.c:759:38: note: Assuming that condition 'strchr(password,'\n')' is not redundant courier-1.4.1/libs/pcp/pcpnet.c:768:26: note: Assuming condition is false courier-1.4.1/libs/pcp/pcpnet.c:779:13: note: Condition 'strchr(password,'\n')' is always false courier-1.4.1/libs/pcp/pcpnet.c:779:39: style: Condition 'strchr(password,'\r')' is always false [knownConditionTrueFalse] courier-1.4.1/libs/pcp/pcpnet.c:759:12: note: Assuming that condition 'strchr(password,'\r')' is not redundant courier-1.4.1/libs/pcp/pcpnet.c:768:26: note: Assuming condition is false courier-1.4.1/libs/pcp/pcpnet.c:779:39: note: Condition 'strchr(password,'\r')' is always false courier-1.4.1/libs/pcp/pcpnet.c:511:20: warning: Either the condition 'p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/pcp/pcpnet.c:508:11: note: Assuming that condition 'p' is not redundant courier-1.4.1/libs/pcp/pcpnet.c:511:20: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpnet.c:1956:14: warning: Either the condition 'p' is redundant or there is possible null pointer dereference: q. [nullPointerRedundantCheck] courier-1.4.1/libs/pcp/pcpnet.c:1942:10: note: Assuming that condition 'p' is not redundant courier-1.4.1/libs/pcp/pcpnet.c:1956:10: note: Assignment 'q=p', assigned value is 0 courier-1.4.1/libs/pcp/pcpnet.c:1956:14: note: Null pointer dereference courier-1.4.1/libs/pcp/pcpnet.c:1511:6: style: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/pcp/pcpnet.c:1505:8: note: rc is assigned courier-1.4.1/libs/pcp/pcpnet.c:1511:6: note: rc is overwritten courier-1.4.1/libs/pcp/pcpnet.c:1399:24: style: Checking if unsigned expression 'ci->n_event_times' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/pcp/pcpnet.c:616:8: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpnet.c:568:7: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpnet.c:616:8: note: Shadow variable courier-1.4.1/libs/pcp/pcpnet.c:1187:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/pcp/pcpnet.c:1072:29: note: Shadowed declaration courier-1.4.1/libs/pcp/pcpnet.c:1187:15: note: Shadow variable courier-1.4.1/libs/pcp/pcpnet.c:97:48: style: Parameter 'pcp' can be declared as pointer to const. However it seems that 'getauthtoken' is a callback function, if 'pcp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpnet.c:142:56: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpnet.c:97:48: note: Parameter 'pcp' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpnet.c:372:39: style: Parameter 'pcp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpnet.c:421:8: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpnet.c:451:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpnet.c:479:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/pcp/pcpnet.c:1063:35: style: Parameter 'pn' can be declared as pointer to const. However it seems that 'cleanup' is a callback function, if 'pn' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/pcp/pcpnet.c:144:48: note: You might need to cast the function pointer here courier-1.4.1/libs/pcp/pcpnet.c:1063:35: note: Parameter 'pn' can be declared as pointer to const courier-1.4.1/libs/pcp/pcpnet.c:1522:36: style: Parameter 'pn' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpnet.c:1907:36: style: Parameter 'pn' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/pcpnet.c:844:9: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/pcp/pcpnet.c:1492:8: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/pcp/pcpparseymd.c:41:13: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpparseymd.c:68:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpparseymd.c:80:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/pcp/pcpparseymd.c:23:30: style: Parameter 'tmptr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/pcp/uids.c:13:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable uid [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/pcp/uids.c:18:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable gid [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/random128/random128.c:31:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MD5_DIGEST [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/random128/random128.c:72:12: style: Variable 'p' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/random128/random128.c:69:4: note: p is assigned courier-1.4.1/libs/random128/random128.c:72:12: note: p is overwritten courier-1.4.1/libs/rfc1035/rfc1035.c:460:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035.c:482:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035.c:74:22: style: Variable 'res->nameservers[i]' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/rfc1035/rfc1035.c:72:22: note: res->nameservers[i] is assigned courier-1.4.1/libs/rfc1035/rfc1035.c:74:22: note: res->nameservers[i] is overwritten courier-1.4.1/libs/rfc1035/rfc1035.c:368:22: style: Variable 'cp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc1035/rfc1035.c:164:23: warning: Uninitialized variable: ns [uninitvar] courier-1.4.1/libs/rfc1035/rfc1035.c:129:12: note: Assuming condition is false courier-1.4.1/libs/rfc1035/rfc1035.c:164:23: note: Uninitialized variable: ns courier-1.4.1/libs/rfc1035/rfc1035.c:261:9: style: struct member 'Anonymous7::opt_root_domain_name' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:262:9: style: struct member 'Anonymous7::opt_type_hi' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:266:9: style: struct member 'Anonymous7::opt_extendedrcode' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:267:9: style: struct member 'Anonymous7::opt_version' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:269:9: style: struct member 'Anonymous7::opt_ttl_zlo' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:270:9: style: struct member 'Anonymous7::opt_rdlen_hi' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035.c:271:9: style: struct member 'Anonymous7::opt_rdlen_lo' is never used. [unusedStructMember] courier-1.4.1/libs/rfc1035/rfc1035an.c:114:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035dumprrdata.c:18:44: style: Parameter 'r' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035dumprrdata.c:18:66: style: Parameter 'rr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035dumprrdata.c:54:66: style: Parameter 'rr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035dumprrdata.c:165:47: style: Parameter 'r' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035gettxt.c:10:42: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035mkaddress.c:55:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035mksocket.c:37:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:59:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:309:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable s_addr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:232:10: style: Variable 'index' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:229:7: note: index is assigned courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:232:10: note: index is overwritten courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:202:6: style:inconclusive: Function 'harvest_records' argument 8 names different: declaration 'autoquery' definition 'flags'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:82:30: note: Function 'harvest_records' argument 8 names different: declaration 'autoquery' definition 'flags'. courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:202:6: note: Function 'harvest_records' argument 8 names different: declaration 'autoquery' definition 'flags'. courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:32:24: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035mxlist.c:200:8: style: Parameter 'mxname' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035qa.c:42:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035qa.c:252:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035qptr.c:49:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035qptr.c:83:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035qptr.c:45:64: style:inconclusive: Function 'rfc1035_ptr_x' argument 2 names different: declaration 'addr' definition 'a'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc1035/rfc1035.h:282:64: note: Function 'rfc1035_ptr_x' argument 2 names different: declaration 'addr' definition 'a'. courier-1.4.1/libs/rfc1035/rfc1035qptr.c:45:64: note: Function 'rfc1035_ptr_x' argument 2 names different: declaration 'addr' definition 'a'. courier-1.4.1/libs/rfc1035/rfc1035reply.c:80:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035reply.c:131:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035reply.c:263:43: style: Parameter 'r' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035reply.c:186:4: style: Variable 'l' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc1035/rfc1035resolve.c:62:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035resolve.c:139:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035resolve.c:230:23: warning: Either the condition '!resps' is redundant or there is possible null pointer dereference: resps. [nullPointerRedundantCheck] courier-1.4.1/libs/rfc1035/rfc1035resolve.c:232:6: note: Assuming that condition '!resps' is not redundant courier-1.4.1/libs/rfc1035/rfc1035resolve.c:230:23: note: Null pointer dereference courier-1.4.1/libs/rfc1035/rfc1035resolve.c:293:40: style: Variable 'reply' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc1035/rfc1035sameip.c:42:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035search.c:342:20: error: Uninitialized variable: cmpname1 [legacyUninitvar] courier-1.4.1/libs/rfc1035/rfc1035search.c:303:41: error: Uninitialized variable: cmpname2 [legacyUninitvar] courier-1.4.1/libs/rfc1035/rfc1035sockaddrip.c:18:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035sockaddrport.c:17:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:32:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:89:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:107:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:128:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:25:42: style: Parameter 'res' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/rfc1035tcp.c:144:3: style: Variable 'len' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc1035/rfc1035udp.c:25:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_DGRAM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035udp.c:124:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035udp.c:151:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MSG_PEEK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035udp.c:287:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/rfc1035udp.c:165:48: style: Condition '(len=dorecv(fd,bufptr,buflen,0,(struct sockaddr*)&addrfrom,&addrfromlen))<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc1035/rfc1035udp.c:164:28: note: Calling function 'dorecv' returns !<=-1 courier-1.4.1/libs/rfc1035/rfc1035udp.c:165:48: note: Condition '(len=dorecv(fd,bufptr,buflen,0,(struct sockaddr*)&addrfrom,&addrfromlen))<0' is always false courier-1.4.1/libs/rfc1035/rfc1035udp.c:124:15: style: Checking if unsigned expression 'len' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/rfc1035/rfc1035udp.c:209:10: style: Variable 'bufptr' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc1035/spf.c:87:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:215:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:358:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:533:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_ADDR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:551:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_ADDR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:679:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:722:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:1013:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:1128:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:1296:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:1330:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/spf.c:180:2: error: Address of local auto-variable assigned to a function parameter. [autoVariables] courier-1.4.1/libs/rfc1035/spf.c:1531:49: style: Checking if unsigned expression 'transformer_count' is less than zero. [unsignedLessThanZero] courier-1.4.1/libs/rfc1035/spf.c:536:39: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] courier-1.4.1/libs/rfc1035/spf.c:1009:32: style:inconclusive: Function 'setexp' argument 1 names different: declaration 'name' definition 'exp'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc1035/spf.c:373:32: note: Function 'setexp' argument 1 names different: declaration 'name' definition 'exp'. courier-1.4.1/libs/rfc1035/spf.c:1009:32: note: Function 'setexp' argument 1 names different: declaration 'name' definition 'exp'. courier-1.4.1/libs/rfc1035/spf.c:185:9: style: Local variable 'buf' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc1035/spf.c:174:7: note: Shadowed declaration courier-1.4.1/libs/rfc1035/spf.c:185:9: note: Shadow variable courier-1.4.1/libs/rfc1035/spf.c:477:8: style: Local variable 'rc' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc1035/spf.c:383:7: note: Shadowed declaration courier-1.4.1/libs/rfc1035/spf.c:477:8: note: Shadow variable courier-1.4.1/libs/rfc1035/spf.c:1261:11: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc1035/spf.c:1171:10: note: Shadowed declaration courier-1.4.1/libs/rfc1035/spf.c:1261:11: note: Shadow variable courier-1.4.1/libs/rfc1035/spf.c:1372:50: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc1035/spf.c:1452:19: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc1035/testlookup.c:35:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/testlookup.c:114:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/testlookup.c:280:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc1035/testlookup.c:26:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/rfc1035/testlookup.c:86:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/rfc1035/testlookup.c:25:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/rfc1035/testlookup.c:23:15: note: Assuming allocation function fails courier-1.4.1/libs/rfc1035/testlookup.c:23:15: note: Assignment 'q=malloc(strlen(p)+1)', assigned value is 0 courier-1.4.1/libs/rfc1035/testlookup.c:25:9: note: Null pointer dereference courier-1.4.1/libs/rfc1035/testlookup.c:40:23: warning: Uninitialized variable: ia [uninitvar] courier-1.4.1/libs/rfc1035/testlookup.c:26:32: note: Assuming condition is false courier-1.4.1/libs/rfc1035/testlookup.c:40:23: note: Uninitialized variable: ia courier-1.4.1/libs/rfc2045/base64.c:47:10: style: Variable 's' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/makemime.c:875:4: error: There is an unknown macro here somewhere. Configuration is required. If RFC2045MIMEMSG is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/rfc2045/reformime.c:340:17: error: There is an unknown macro here somewhere. Configuration is required. If RFC2045PKG is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/rfc2045/rfc2045.c:703:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable token [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:831:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable token [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:946:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable token [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:1145:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:1173:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:1216:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable token [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:1229:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable token [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:1262:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC2045CHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045.c:183:8: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/rfc2045/rfc2045.c:178:14: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc2045.c:183:8: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc2045.c:597:9: style: Variable 'q' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045.c:1212:7: style: Variable 's' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045_fromfd.c:24:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045_fromfd.c:49:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045appendurl.c:126:44: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:156:7: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:135:14: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:156:7: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:33:7: style: Variable 'a' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:33:15: style: Variable 'c' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045cdecode.c:33:19: style: Variable 'end' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045decodemimesection.c:24:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045decodemsgtoutf8.c:98:58: style: Parameter 'voidarg' can be declared as pointer to const. However it seems that 'decode_handler' is a callback function, if 'voidarg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/rfc2045/rfc2045decodemsgtoutf8.c:173:13: note: You might need to cast the function pointer here courier-1.4.1/libs/rfc2045/rfc2045decodemsgtoutf8.c:98:58: note: Parameter 'voidarg' can be declared as pointer to const courier-1.4.1/libs/rfc2045/rfc2045header.c:190:11: style: Local variable 'n' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc2045header.c:176:9: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc2045header.c:190:11: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc2045header.c:191:10: style: Local variable 's' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc2045header.c:177:8: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc2045header.c:191:10: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc2045header.c:60:24: style: Variable 's' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045header.c:70:24: style: Variable 's' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc2045/rfc2045header.c:93:28: style: Parameter 'rfcp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc2045/rfc2045mkboundary.c:32:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045reply.c:1420:4: error: There is an unknown macro here somewhere. Configuration is required. If RFC2045MIMEMSG is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/rfc2045/rfc2045rewrite.c:205:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2045rewrite.c:41:6: style: Variable 'i' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc2045/rfc2231.c:24:48: style:inconclusive: Function 'rfc2231_paramDestroy' argument 1 names different: declaration 'paramList' definition 'p'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc2045.h:672:48: note: Function 'rfc2231_paramDestroy' argument 1 names different: declaration 'paramList' definition 'p'. courier-1.4.1/libs/rfc2045/rfc2231.c:24:48: note: Function 'rfc2231_paramDestroy' argument 1 names different: declaration 'paramList' definition 'p'. courier-1.4.1/libs/rfc2045/rfc2231.c:336:16: style:inconclusive: Function 'rfc2231_udecodeType' argument 3 names different: declaration 'myChset' definition 'myCharset'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc2045.h:634:16: note: Function 'rfc2231_udecodeType' argument 3 names different: declaration 'myChset' definition 'myCharset'. courier-1.4.1/libs/rfc2045/rfc2231.c:336:16: note: Function 'rfc2231_udecodeType' argument 3 names different: declaration 'myChset' definition 'myCharset'. courier-1.4.1/libs/rfc2045/rfc2231.c:357:23: style:inconclusive: Function 'rfc2231_udecodeDisposition' argument 3 names different: declaration 'myChset' definition 'myCharset'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc2045.h:638:23: note: Function 'rfc2231_udecodeDisposition' argument 3 names different: declaration 'myChset' definition 'myCharset'. courier-1.4.1/libs/rfc2045/rfc2231.c:357:23: note: Function 'rfc2231_udecodeDisposition' argument 3 names different: declaration 'myChset' definition 'myCharset'. courier-1.4.1/libs/rfc2045/rfc2231encode.c:46:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc2231encode.c:102:13: style:inconclusive: Function 'docreate' argument 2 names different: declaration 'attrvalue' definition 'q'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc2231encode.c:25:13: note: Function 'docreate' argument 2 names different: declaration 'attrvalue' definition 'q'. courier-1.4.1/libs/rfc2045/rfc2231encode.c:102:13: note: Function 'docreate' argument 2 names different: declaration 'attrvalue' definition 'q'. courier-1.4.1/libs/rfc2045/rfc2231encode.c:56:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc2231encode.c:41:8: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc2231encode.c:56:9: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc3676parser.c:751:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNICODE_LB_OPT_PRBREAK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc3676parser.c:965:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNICODE_LB_NONE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/rfc3676parser.c:256:24: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] courier-1.4.1/libs/rfc2045/rfc3676parser.c:252:26: note: outer condition: handle->errflag==0 courier-1.4.1/libs/rfc2045/rfc3676parser.c:256:24: note: identical inner condition: handle->errflag==0 courier-1.4.1/libs/rfc2045/rfc3676parser.c:313:12: style: Condition 'ptr' is always true [knownConditionTrueFalse] courier-1.4.1/libs/rfc2045/rfc3676parser.c:569:22: style:inconclusive: Function 'seen_notsig_block' argument 2 names different: declaration 'ptr' definition 'newptr'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc3676parser.c:155:21: note: Function 'seen_notsig_block' argument 2 names different: declaration 'ptr' definition 'newptr'. courier-1.4.1/libs/rfc2045/rfc3676parser.c:569:22: note: Function 'seen_notsig_block' argument 2 names different: declaration 'ptr' definition 'newptr'. courier-1.4.1/libs/rfc2045/rfc3676parser.c:569:37: style:inconclusive: Function 'seen_notsig_block' argument 3 names different: declaration 'cnt' definition 'newcnt'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc2045/rfc3676parser.c:155:33: note: Function 'seen_notsig_block' argument 3 names different: declaration 'cnt' definition 'newcnt'. courier-1.4.1/libs/rfc2045/rfc3676parser.c:569:37: note: Function 'seen_notsig_block' argument 3 names different: declaration 'cnt' definition 'newcnt'. courier-1.4.1/libs/rfc2045/rfc3676parser.h:154:4: warning:inconclusive: Class 'textplainparser' which has virtual members does not have a virtual destructor. [virtualDestructor] courier-1.4.1/libs/rfc2045/rfc6533.c:90:22: style: Local variable 'xdigit' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc6533.c:17:19: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc6533.c:90:22: note: Shadow variable courier-1.4.1/libs/rfc2045/rfc6533.c:174:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc2045/rfc6533.c:146:9: note: Shadowed declaration courier-1.4.1/libs/rfc2045/rfc6533.c:174:16: note: Shadow variable courier-1.4.1/libs/rfc2045/testrfc3676parser.c:43:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc2045/testrfc3676parser.c:12:49: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'line_begin' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/rfc2045/testrfc3676parser.c:56:18: note: You might need to cast the function pointer here courier-1.4.1/libs/rfc2045/testrfc3676parser.c:12:49: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/rfc2045/testrfc3676parser.c:20:11: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'line_contents' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/rfc2045/testrfc3676parser.c:57:21: note: You might need to cast the function pointer here courier-1.4.1/libs/rfc2045/testrfc3676parser.c:20:11: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/rfc2045/testrfc3676parser.c:27:37: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'line_flowed_notify' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/rfc2045/testrfc3676parser.c:58:26: note: You might need to cast the function pointer here courier-1.4.1/libs/rfc2045/testrfc3676parser.c:27:37: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/rfc2045/testrfc3676parser.c:33:27: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'line_end' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/rfc2045/testrfc3676parser.c:59:16: note: You might need to cast the function pointer here courier-1.4.1/libs/rfc2045/testrfc3676parser.c:33:27: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/rfc2045/testrfc6533parser.c:37:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/encode.c:142:7: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc822/encode.c:142:11: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc822/encode.c:142:15: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc822/encodeautodetect.c:27:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/encodeautodetect.c:81:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/encodeautodetect.c:92:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/imaprefs.c:91:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable hashtable [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/imaprefs.c:140:69: style: Parameter 'mt' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc822/imaprefs.c:157:46: style: Parameter 'mt' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc822/imapsubj.c:23:8: style: Variable 'orig_p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc822/reftest.c:171:45: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/rfc822/rfc2047.c:63:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/rfc2047.c:89:8: style: Variable 'cp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc822/rfc2047u.c:345:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/rfc2047u.c:520:32: style: Condition 'rfc822_display_addr(a,n,charset,save_unicode_text,&nbuf)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:519:26: note: Calling function 'rfc822_display_addr' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:520:32: note: Condition 'rfc822_display_addr(a,n,charset,save_unicode_text,&nbuf)<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:529:32: style: Condition 'rfc822_display_addr(a,n,charset,save_unicode_text,&nbuf)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:528:26: note: Calling function 'rfc822_display_addr' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:529:32: note: Condition 'rfc822_display_addr(a,n,charset,save_unicode_text,&nbuf)<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:674:14: style: Condition 'errcode<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:671:29: note: Calling function 'rfc822_display_addr' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:671:29: note: Assignment 'errcode=rfc822_display_addr(rfcp,index,chset,rfc822_display_hdrvalue_tobuf_cnt,&nbuf)', assigned value is 0 courier-1.4.1/libs/rfc822/rfc2047u.c:674:14: note: Condition 'errcode<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:685:14: style: Condition 'errcode<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:682:29: note: Calling function 'rfc822_display_addr' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:682:29: note: Assignment 'errcode=rfc822_display_addr(rfcp,index,chset,rfc822_display_hdrvalue_tobuf_save,&nbuf)', assigned value is 0 courier-1.4.1/libs/rfc822/rfc2047u.c:685:14: note: Condition 'errcode<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:747:14: style: Condition 'errcode<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:743:33: note: Calling function 'rfc822_display_addr_str' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:743:33: note: Assignment 'errcode=rfc822_display_addr_str(tok,chset,rfc822_display_hdrvalue_tobuf_cnt,&s)', assigned value is 0 courier-1.4.1/libs/rfc822/rfc2047u.c:747:14: note: Condition 'errcode<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:758:14: style: Condition 'errcode<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/rfc2047u.c:755:33: note: Calling function 'rfc822_display_addr_str' returns 0 courier-1.4.1/libs/rfc822/rfc2047u.c:755:33: note: Assignment 'errcode=rfc822_display_addr_str(tok,chset,rfc822_display_hdrvalue_tobuf_save,&s)', assigned value is 0 courier-1.4.1/libs/rfc822/rfc2047u.c:758:14: note: Condition 'errcode<0' is always false courier-1.4.1/libs/rfc822/rfc2047u.c:441:11: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc822/rfc2047u.c:413:10: note: Shadowed declaration courier-1.4.1/libs/rfc822/rfc2047u.c:441:11: note: Shadow variable courier-1.4.1/libs/rfc822/rfc822.c:655:40: style:inconclusive: Function 'rfc822_print' argument 1 names different: declaration 'a' definition 'rfcp'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc822/rfc822.h:118:40: note: Function 'rfc822_print' argument 1 names different: declaration 'a' definition 'rfcp'. courier-1.4.1/libs/rfc822/rfc822.c:655:40: note: Function 'rfc822_print' argument 1 names different: declaration 'a' definition 'rfcp'. courier-1.4.1/libs/rfc822/rfc822.c:661:47: style:inconclusive: Function 'rfc822_print_common' argument 1 names different: declaration 'a' definition 'rfcp'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc822/rfc822.h:124:47: note: Function 'rfc822_print_common' argument 1 names different: declaration 'a' definition 'rfcp'. courier-1.4.1/libs/rfc822/rfc822.c:661:47: note: Function 'rfc822_print_common' argument 1 names different: declaration 'a' definition 'rfcp'. courier-1.4.1/libs/rfc822/rfc822.c:789:47: style:inconclusive: Function 'rfc822t_alloc_new' argument 1 names different: declaration 'p' definition 'addr'. [funcArgNamesDifferent] courier-1.4.1/libs/rfc822/rfc822.h:88:47: note: Function 'rfc822t_alloc_new' argument 1 names different: declaration 'p' definition 'addr'. courier-1.4.1/libs/rfc822/rfc822.c:789:47: note: Function 'rfc822t_alloc_new' argument 1 names different: declaration 'p' definition 'addr'. courier-1.4.1/libs/rfc822/rfc822.c:313:7: style: Local variable 'j' shadows outer variable [shadowVariable] courier-1.4.1/libs/rfc822/rfc822.c:250:11: note: Shadowed declaration courier-1.4.1/libs/rfc822/rfc822.c:313:7: note: Shadow variable courier-1.4.1/libs/rfc822/rfc822_getaddrs.c:13:3: style: Redundant assignment of 'c' to itself. [selfAssignment] courier-1.4.1/libs/rfc822/rfc822_getaddrs.c:68:24: style: Variable 'start' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc822/rfc822_getaddrs.c:13:3: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc822/rfc822_mkdate.c:87:4: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/rfc822/rfc822_mkdate.c:44:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc822/rfc822_parsedt.c:244:18: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/rfc822/rfc822_parsedt.c:244:12: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/rfc822/rfc822hdr.c:45:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/testsuite.c:42:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/rfc822/testsuite.c:47:33: style: Condition 'buf[0]' is always true [knownConditionTrueFalse] courier-1.4.1/libs/rfc822/testsuite.c:14:3: style: Redundant assignment of 'p' to itself. [selfAssignment] courier-1.4.1/libs/rfc822/testsuite.c:20:3: style: Redundant assignment of 'p' to itself. [selfAssignment] courier-1.4.1/libs/rfc822/testsuite.c:14:3: style: Variable 'p' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/rfc822/testsuite.c:20:3: style: Variable 'p' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1.c:24:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA1_WORD [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sha1/sha1_hash.c:17:6: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1_hash.c:17:10: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1_hash.c:17:14: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1_hash.c:52:7: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1_hash.c:52:11: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha1_hash.c:52:15: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha256_hash.c:17:6: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha256_hash.c:17:10: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha256_hash.c:17:14: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha512.c:51:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_WORD [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sha1/sha512_hash.c:17:6: style: Variable 'a' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha512_hash.c:17:10: style: Variable 'b' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sha1/sha512_hash.c:17:14: style: Variable 'c' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/soxwrap/mksocket.c:133:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/soxwrap/mksocket.c:338:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable recycle_fd_func [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/soxwrap/mksocket.c:125:10: portability: Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'. [prohibitedgetservbynameCalled] courier-1.4.1/libs/soxwrap/mksocket.c:110:18: style: Variable 'servptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/soxwrap/sconnect.c:61:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/acl.c:100:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHAREDINDEXFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/acl.c:155:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILBOXTYPE_OLDSHARED [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/acl.c:351:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_ADMINISTER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/acl.c:534:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_ADMINISTER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/acl.c:371:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/acl.c:338:8: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/acl.c:371:15: note: Shadow variable courier-1.4.1/libs/sqwebmail/acl.c:408:10: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/acl.c:371:15: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/acl.c:408:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/addressbook.c:144:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:252:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:350:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:394:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:510:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:736:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/addressbook.c:367:28: error: Dereferencing 'new_name' after it is deallocated / released [deallocuse] courier-1.4.1/libs/sqwebmail/addressbook.c:368:2: error: Memory pointed to by 'new_name' is freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/addressbook.c:364:3: note: Memory pointed to by 'new_name' is freed twice. courier-1.4.1/libs/sqwebmail/addressbook.c:368:2: note: Memory pointed to by 'new_name' is freed twice. courier-1.4.1/libs/sqwebmail/addressbook.c:85:22: warning: Either the condition '(addresss=strdup(addr))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/addressbook.c:79:30: note: Assuming that condition '(addresss=strdup(addr))==0' is not redundant courier-1.4.1/libs/sqwebmail/addressbook.c:85:10: note: Assignment 'p=q=addresss', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:85:22: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:115:19: warning: Either the condition '(nicks=strdup(nick))==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/addressbook.c:113:27: note: Assuming that condition '(nicks=strdup(nick))==0' is not redundant courier-1.4.1/libs/sqwebmail/addressbook.c:115:10: note: Assignment 'p=q=nicks', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:115:19: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:152:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/addressbook.c:145:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/addressbook.c:145:10: note: Assignment 'p=malloc(sizeof("tmp/")+strlen(new_name))', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:152:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:310:16: warning: Either the condition '!s' is redundant or there is possible null pointer dereference: t. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/addressbook.c:301:8: note: Assuming that condition '!s' is not redundant courier-1.4.1/libs/sqwebmail/addressbook.c:310:12: note: Assignment 't=s', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:310:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:367:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/addressbook.c:358:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/addressbook.c:358:10: note: Assignment 'p=malloc(sizeof("tmp/")+strlen(new_name))', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:367:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:439:4: warning: Either the condition '(b=malloc(sizeof(struct abooklist)))==0' is redundant or there is possible null pointer dereference: b. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/addressbook.c:432:45: note: Assuming that condition '(b=malloc(sizeof(struct abooklist)))==0' is not redundant courier-1.4.1/libs/sqwebmail/addressbook.c:439:4: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:761:17: warning: If memory allocation fails, then there is a possible null pointer dereference: addycpy [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/addressbook.c:758:19: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/addressbook.c:758:19: note: Assignment 'addycpy=strdup(addy)', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:761:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:859:15: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/addressbook.c:857:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/addressbook.c:857:10: note: Assignment 's=strdup(nick1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:859:10: note: Assignment 'q=r=s', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:859:15: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:904:12: warning: If memory allocation fails, then there is a possible null pointer dereference: save_value [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/addressbook.c:896:27: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/addressbook.c:896:27: note: Assignment 'save_value=strdup(value)', assigned value is 0 courier-1.4.1/libs/sqwebmail/addressbook.c:904:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/addressbook.c:944:13: style: Local variable 's' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/addressbook.c:705:7: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/addressbook.c:944:13: note: Shadow variable courier-1.4.1/libs/sqwebmail/addressbook.c:104:8: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:240:7: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:346:7: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:424:8: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:485:8: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:671:7: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/addressbook.c:691:10: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/args.c:50:2: warning: If memory allocation fails, then there is a possible null pointer dereference: a [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/args.c:42:28: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/args.c:42:4: note: Assignment 'a=(struct arglist*)malloc(sizeof(struct arglist))', assigned value is 0 courier-1.4.1/libs/sqwebmail/args.c:50:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/args.c:52:2: warning: If memory allocation fails, then there is a possible null pointer dereference: a [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/args.c:42:28: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/args.c:42:4: note: Assignment 'a=(struct arglist*)malloc(sizeof(struct arglist))', assigned value is 0 courier-1.4.1/libs/sqwebmail/args.c:52:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/attachments.c:86:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXMSGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:107:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:242:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:299:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:346:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:423:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:469:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:571:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MIMETYPES [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:670:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/attachments.c:557:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/attachments.c:558:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/attachments.c:754:16: warning: Either the condition 'n<0' is redundant or fdopen() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] courier-1.4.1/libs/sqwebmail/attachments.c:749:8: note: Assuming that condition 'n<0' is not redundant courier-1.4.1/libs/sqwebmail/attachments.c:754:16: note: Invalid argument courier-1.4.1/libs/sqwebmail/attachments.c:578:6: style: Condition '!p' is always false [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/attachments.c:117:4: error: Resource handle 'fd2' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:115:6: note: Resource handle 'fd2' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:117:4: note: Resource handle 'fd2' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:472:3: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:465:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:472:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:486:2: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:465:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:486:2: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:495:2: error: Memory pointed to by 'draftfilename' is freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:492:3: note: Memory pointed to by 'draftfilename' is freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:495:2: note: Memory pointed to by 'draftfilename' is freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:693:4: error: Resource handle 'fd2' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:691:11: note: Resource handle 'fd2' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:693:4: note: Resource handle 'fd2' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:713:3: error: Resource handle 'draftfp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:702:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:713:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:725:3: error: Resource handle 'draftfp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:702:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:725:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:736:3: error: Resource handle 'draftfp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:702:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:736:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:751:3: error: Resource handle 'draftfp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:702:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:751:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:757:3: error: Resource handle 'draftfp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/attachments.c:702:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:757:3: note: Resource handle 'draftfp' freed twice. courier-1.4.1/libs/sqwebmail/attachments.c:553:16: warning: If memory allocation fails, then there is a possible null pointer dereference: mimetype [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/attachments.c:586:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/attachments.c:586:11: note: Assignment 'q=strdup(p)', assigned value is 0 courier-1.4.1/libs/sqwebmail/attachments.c:589:27: note: Calling function 'search_mime_type', 1st argument 'q' value is 0 courier-1.4.1/libs/sqwebmail/attachments.c:550:16: note: Assuming condition is false courier-1.4.1/libs/sqwebmail/attachments.c:553:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/attachments.c:579:10: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/attachments.c:578:6: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/sqwebmail/attachments.c:579:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/attachments.c:588:17: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/attachments.c:586:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/attachments.c:586:11: note: Assignment 'q=strdup(p)', assigned value is 0 courier-1.4.1/libs/sqwebmail/attachments.c:588:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/attachments.c:700:19: warning: Possible null pointer dereference: draftfp [nullPointer] courier-1.4.1/libs/sqwebmail/attachments.c:688:10: note: Assignment 'draftfp=0', assigned value is 0 courier-1.4.1/libs/sqwebmail/attachments.c:689:10: note: Assuming condition is false courier-1.4.1/libs/sqwebmail/attachments.c:700:19: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/attachments.c:339:53: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/attachments.c:368:59: style: Parameter 'rfcp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/attachments.c:506:71: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'upload_start' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/attachments.c:720:22: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/attachments.c:506:71: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/attachments.c:534:30: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'upload_end' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/attachments.c:720:51: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/attachments.c:534:30: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/auth.c:53:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HOSTNAMEFILE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/auth.c:188:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/auth.c:195:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQWEBPASSWD [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/auth.c:271:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTHCHARSET [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/auth.c:122:16: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:118:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:118:10: note: Assignment 'b=malloc(sizeof("AUTHADDR=")+strlen(c))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:122:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:123:9: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:118:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:118:10: note: Assignment 'b=malloc(sizeof("AUTHADDR=")+strlen(c))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:123:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:135:16: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:131:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:131:10: note: Assignment 'b=malloc(sizeof("AUTHFULLNAME=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:135:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:136:9: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:131:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:131:10: note: Assignment 'b=malloc(sizeof("AUTHFULLNAME=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:136:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:148:16: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:144:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:144:10: note: Assignment 'b=malloc(sizeof("OPTIONS=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:148:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:149:9: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:144:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:144:10: note: Assignment 'b=malloc(sizeof("OPTIONS=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:149:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:161:16: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:157:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:157:10: note: Assignment 'b=malloc(sizeof("AUTHENTICATED=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:161:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:162:9: warning: If memory allocation fails, then there is a possible null pointer dereference: b [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/auth.c:157:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/auth.c:157:10: note: Assignment 'b=malloc(sizeof("AUTHENTICATED=")+strlen(n))', assigned value is 0 courier-1.4.1/libs/sqwebmail/auth.c:162:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/auth.c:273:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/auth.c:257:13: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/auth.c:273:9: note: Shadow variable courier-1.4.1/libs/sqwebmail/autoresponse.c:115:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:191:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:240:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:434:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:494:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:559:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:593:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/autoresponse.c:346:10: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] courier-1.4.1/libs/sqwebmail/autoresponse.c:447:15: error: Dereferencing 'afp' after it is deallocated / released [deallocuse] courier-1.4.1/libs/sqwebmail/autoresponse.c:449:3: error: Resource handle 'afp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/autoresponse.c:439:3: note: Resource handle 'afp' freed twice. courier-1.4.1/libs/sqwebmail/autoresponse.c:449:3: note: Resource handle 'afp' freed twice. courier-1.4.1/libs/sqwebmail/autoresponse.c:346:14: style: Variable 'name' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sqwebmail/changepw.c:54:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/filter.c:32:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_u_ucs4_native [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:141:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:175:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:213:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cgi_arglist [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:260:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_DELETEMSGS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:344:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:449:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_READ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:879:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:963:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1213:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1332:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1379:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1422:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_INSERT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1525:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1816:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2059:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2111:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2261:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2308:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2367:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2402:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_DELETEFOLDER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2468:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SENT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2580:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_CREATE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2626:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2829:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NEWSHAREDSP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:2975:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NEWSHAREDSP [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:3131:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable maildir_newshared_disabled [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:3560:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ACL_CREATE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:3594:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:3640:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/folder.c:1075:8: style: Suspicious condition (assignment + comparison); Clarify expression with parentheses. [clarifyCondition] courier-1.4.1/libs/sqwebmail/folder.c:2468:26: style: Condition 'strcmp(p,"."SENT)==0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:2469:28: style: Condition 'strcmp(p,"."DRAFTS)==0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:2470:27: style: Condition 'strcmp(p,"."TRASH)==0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:3411:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/libs/sqwebmail/folder.c:3469:4: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] courier-1.4.1/libs/sqwebmail/folder.c:1003:5: error: Memory pointed to by 'filename' is freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/folder.c:978:5: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/sqwebmail/folder.c:1003:5: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/sqwebmail/folder.c:2265:4: error: Resource handle 'fd' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/folder.c:2264:11: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/sqwebmail/folder.c:2265:4: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/sqwebmail/folder.c:3598:4: error: Resource handle 'fd' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/folder.c:3597:11: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/sqwebmail/folder.c:3598:4: note: Resource handle 'fd' freed twice. courier-1.4.1/libs/sqwebmail/folder.c:147:27: warning: Either the condition 'froms==0' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:660:12: note: Assuming that condition 'froms==0' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:662:13: note: Calling function 'print_safe', 1st argument 'froms' value is 0 courier-1.4.1/libs/sqwebmail/folder.c:147:27: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:299:13: warning: If memory allocation fails, then there is a possible null pointer dereference: cur [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:298:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:298:18: note: Assignment 'cur=malloc(strlen(deldir)+5)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:299:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:300:13: warning: If memory allocation fails, then there is a possible null pointer dereference: cur [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:298:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:298:18: note: Assignment 'cur=malloc(strlen(deldir)+5)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:300:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:691:11: warning: Either the condition 'subjs==0' is redundant or there is possible null pointer dereference: subjs. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:688:12: note: Assuming that condition 'subjs==0' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:691:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:1126:17: warning: If memory allocation fails, then there is a possible null pointer dereference: filename [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:1123:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:1123:18: note: Assignment 'filename=malloc(sizeof("tmp/")+strlen(p))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:1126:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:1704:10: warning: Either the condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is redundant or there is possible null pointer dereference: hdrname. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:1701:52: note: Assuming that condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:1704:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:1705:10: warning: Either the condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is redundant or there is possible null pointer dereference: hdrname. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:1701:52: note: Assuming that condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:1705:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:1707:19: warning: Either the condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:1701:52: note: Assuming that condition '(hdrname=malloc(sizeof("DSPHDR_")+strlen(h)))==NULL' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:1707:9: note: Assignment 'p=hdrname', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:1707:19: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2094:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assignment 'q=malloc(strlen(p)+strlen(pos)+strlen(mimegpgfilename)+strlen(mimeid)+sizeof("&mimeid=&pos=&form=fetch&mimegpgfilename="))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2094:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2095:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assignment 'q=malloc(strlen(p)+strlen(pos)+strlen(mimegpgfilename)+strlen(mimeid)+sizeof("&mimeid=&pos=&form=fetch&mimegpgfilename="))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2095:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2096:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assignment 'q=malloc(strlen(p)+strlen(pos)+strlen(mimegpgfilename)+strlen(mimeid)+sizeof("&mimeid=&pos=&form=fetch&mimegpgfilename="))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2096:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2097:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assignment 'q=malloc(strlen(p)+strlen(pos)+strlen(mimegpgfilename)+strlen(mimeid)+sizeof("&mimeid=&pos=&form=fetch&mimegpgfilename="))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2097:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2098:9: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2089:10: note: Assignment 'q=malloc(strlen(p)+strlen(pos)+strlen(mimegpgfilename)+strlen(mimeid)+sizeof("&mimeid=&pos=&form=fetch&mimegpgfilename="))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2098:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2201:45: warning: If memory allocation fails, then there is a possible null pointer dereference: washpfix [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2196:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2196:18: note: Assignment 'washpfix=malloc(strlen(script_name)+strlen(hash?hash:"")+strlen(nowbuffer)+100)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2201:45: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2214:17: warning: If memory allocation fails, then there is a possible null pointer dereference: washpfixmailto [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2212:24: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2212:24: note: Assignment 'washpfixmailto=malloc(strlen(scriptnameget)+sizeof(formbuf))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2214:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2381:12: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assignment 'r=malloc(strlen(inbox_pfix)+strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3155:35: note: Calling function 'get_parent_folder', 1st argument 'r' value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2381:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2389:10: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2387:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2387:11: note: Assignment 's=malloc(q-p+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2389:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2390:3: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2387:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2387:11: note: Assignment 's=malloc(q-p+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2390:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2649:11: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2645:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2645:12: note: Assignment 'p=malloc(strlen(folderdir)+strlen(futf7)+strlen(dutf7)+3)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2649:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2759:17: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2755:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2755:11: note: Assignment 's=malloc(strlen(qutf7)+strlen(rutf7)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2759:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2918:12: warning: If memory allocation fails, then there is a possible null pointer dereference: m_path [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assignment 'm_path=malloc(p-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2918:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2919:5: warning: If memory allocation fails, then there is a possible null pointer dereference: m_path [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assignment 'm_path=malloc(p-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2919:5: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2921:27: warning: If memory allocation fails, then there is a possible null pointer dereference: m_path [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2915:18: note: Assignment 'm_path=malloc(p-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2921:27: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2925:19: warning: If memory allocation fails, then there is a possible null pointer dereference: m_inbox [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:2921:19: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:2921:19: note: Assignment 'm_inbox=malloc(strlen(m_path)+1+strlen(p))', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:2925:19: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3019:11: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3015:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3015:12: note: Assignment 's=malloc(r-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3019:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3020:4: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3015:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3015:12: note: Assignment 's=malloc(r-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3020:4: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3029:11: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3026:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3026:12: note: Assignment 's=malloc(r-q+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3029:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3030:4: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3026:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3026:12: note: Assignment 's=malloc(r-q+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3030:4: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3047:9: warning: If memory allocation fails, then there is a possible null pointer dereference: url [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3044:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3044:12: note: Assignment 'url=malloc(q-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3047:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3048:2: warning: If memory allocation fails, then there is a possible null pointer dereference: url [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3044:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3044:12: note: Assignment 'url=malloc(q-folderdir+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3048:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3153:18: warning: If memory allocation fails, then there is a possible null pointer dereference: r [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assignment 'r=malloc(strlen(inbox_pfix)+strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3153:18: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3223:18: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assignment 'p=strdup(inbox_pfix)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3223:18: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3226:13: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assignment 'p=strdup(inbox_pfix)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3226:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3231:14: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3219:11: note: Assignment 'p=strdup(inbox_pfix)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3231:14: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3344:12: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3341:13: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3341:13: note: Assignment 's=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3344:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3345:5: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3341:13: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3341:13: note: Assignment 's=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3345:5: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3370:12: warning: If memory allocation fails, then there is a possible null pointer dereference: t [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3368:13: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3368:13: note: Assignment 't=malloc(p-shortname+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3370:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3371:5: warning: If memory allocation fails, then there is a possible null pointer dereference: t [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3368:13: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3368:13: note: Assignment 't=malloc(p-shortname+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3371:5: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3558:10: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assignment 'q=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3558:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3559:3: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assignment 'q=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3559:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3572:13: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assignment 'q=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3572:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3575:27: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3556:11: note: Assignment 'q=malloc(p-folders[i]+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3575:27: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3756:3: warning: Either the condition 'uc==0' is redundant or there is possible null pointer dereference: uc. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:3755:10: note: Assuming that condition 'uc==0' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:3756:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3757:3: warning: Either the condition 'uc==0' is redundant or there is possible null pointer dereference: uc. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:3755:10: note: Assuming that condition 'uc==0' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:3757:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:3758:3: warning: Either the condition 'uc==0' is redundant or there is possible null pointer dereference: uc. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/folder.c:3755:10: note: Assuming that condition 'uc==0' is not redundant courier-1.4.1/libs/sqwebmail/folder.c:3758:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/folder.c:2467:26: style: Same expression on both sides of '||' because 'strcmp(p,".")==0' and 'strcmp(p,"."SENT)==0' represent the same value. [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:2468:31: style: Same expression on both sides of '||' because 'strcmp(p,"."DRAFTS)==0' and 'strcmp(p,"."SENT)==0' represent the same value. [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:2469:33: style: Same expression on both sides of '||' because 'strcmp(p,"."TRASH)==0' and 'strcmp(p,"."DRAFTS)==0' represent the same value. [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/folder.c:2808:41: style:inconclusive: Function 'parse_hierarchy' argument 1 names different: declaration 'hierarchy' definition 'folderdir'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/folder.c:1344:41: note: Function 'parse_hierarchy' argument 1 names different: declaration 'hierarchy' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:2808:41: note: Function 'parse_hierarchy' argument 1 names different: declaration 'hierarchy' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:2947:43: style:inconclusive: Function 'do_sharedhierlist' argument 1 names different: declaration 'sharedhier' definition 'folderdir'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/folder.c:2533:43: note: Function 'do_sharedhierlist' argument 1 names different: declaration 'sharedhier' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:2947:43: note: Function 'do_sharedhierlist' argument 1 names different: declaration 'sharedhier' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:2948:40: style:inconclusive: Function 'do_sharedhierlist' argument 2 names different: declaration 'cache' definition 'index'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/folder.c:2534:40: note: Function 'do_sharedhierlist' argument 2 names different: declaration 'cache' definition 'index'. courier-1.4.1/libs/sqwebmail/folder.c:2948:40: note: Function 'do_sharedhierlist' argument 2 names different: declaration 'cache' definition 'index'. courier-1.4.1/libs/sqwebmail/folder.c:3104:39: style:inconclusive: Function 'do_folderlist' argument 1 names different: declaration 'pfix' definition 'inbox_pfix'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/folder.c:2531:39: note: Function 'do_folderlist' argument 1 names different: declaration 'pfix' definition 'inbox_pfix'. courier-1.4.1/libs/sqwebmail/folder.c:3104:39: note: Function 'do_folderlist' argument 1 names different: declaration 'pfix' definition 'inbox_pfix'. courier-1.4.1/libs/sqwebmail/folder.c:3106:18: style:inconclusive: Function 'do_folderlist' argument 3 names different: declaration 'path' definition 'folderdir'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/folder.c:2532:18: note: Function 'do_folderlist' argument 3 names different: declaration 'path' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:3106:18: note: Function 'do_folderlist' argument 3 names different: declaration 'path' definition 'folderdir'. courier-1.4.1/libs/sqwebmail/folder.c:3140:10: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/folder.c:3119:9: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/folder.c:3140:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/folder.c:3182:7: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/folder.c:3142:15: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/folder.c:3182:7: note: Shadow variable courier-1.4.1/libs/sqwebmail/folder.c:3213:10: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/folder.c:3119:9: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/folder.c:3213:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/folder.c:183:9: style: Variable 'ff' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:592:20: style: Parameter 'matches' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/folder.c:601:8: style: Variable 'folder_index_entry_start' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:601:35: style: Variable 'folder_index_entry_end' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:831:23: style: Parameter 'last_message_searched_ptr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/folder.c:1364:39: style: Parameter 'dummy2' can be declared as pointer to const. However it seems that 'show_transfer_dest_fake' is a callback function, if 'dummy2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/folder.c:1360:4: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/folder.c:1364:39: note: Parameter 'dummy2' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/folder.c:1621:9: style: Variable 'code' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:1622:9: style: Variable 'img' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:1623:9: style: Variable 'attr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:2084:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/folder.c:3516:39: style: Parameter 'dummy2' can be declared as pointer to const. However it seems that 'folder_rename_dest_fake' is a callback function, if 'dummy2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/folder.c:3512:4: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/folder.c:3516:39: note: Parameter 'dummy2' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/folder.c:3058:52: error: Uninitialized variable: &eof [uninitvar] courier-1.4.1/libs/sqwebmail/folder.c:1787:9: style: Variable 'c[0]' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sqwebmail/gpg.c:82:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:103:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:167:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:324:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:418:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFD [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:490:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:526:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:660:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/gpg.c:563:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/gpg.c:606:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/gpg.c:554:3: error: Resource handle 'in_dup' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/gpg.c:540:40: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:554:3: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:684:3: error: Resource handle 'in_dup' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/gpg.c:670:40: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:684:3: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:713:2: error: Resource handle 'out_dup' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/gpg.c:679:43: note: Resource handle 'out_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:713:2: note: Resource handle 'out_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:715:2: error: Resource handle 'in_dup' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/gpg.c:670:40: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:715:2: note: Resource handle 'in_dup' freed twice. courier-1.4.1/libs/sqwebmail/gpg.c:79:16: style: Unsigned expression 'gpgerrcnt' can't be negative so it is unnecessary to test it. [unsignedPositive] courier-1.4.1/libs/sqwebmail/gpg.c:180:19: style: Variable 'li' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/gpg.c:273:19: style: Variable 'li' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/html.c:843:10: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/html.c:812:9: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/html.c:843:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/html.c:1236:10: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/html.c:1195:9: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/html.c:1236:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/html.c:403:13: warning: Uninitialized variable: unicode_buf [uninitvar] courier-1.4.1/libs/sqwebmail/ispell.c:39:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/ispell.c:58:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/ispell.c:202:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/ispell.c:265:26: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/ispell.c:214:11: style: Variable 'islistptr' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/sqwebmail/ispell.c:197:11: note: islistptr is assigned courier-1.4.1/libs/sqwebmail/ispell.c:214:11: note: islistptr is overwritten courier-1.4.1/libs/sqwebmail/ispell.c:181:39: style:inconclusive: Function 'ispell_run' argument 1 names different: declaration 'dictionary' definition 'dict'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/ispell.h:31:39: note: Function 'ispell_run' argument 1 names different: declaration 'dictionary' definition 'dict'. courier-1.4.1/libs/sqwebmail/ispell.c:181:39: note: Function 'ispell_run' argument 1 names different: declaration 'dictionary' definition 'dict'. courier-1.4.1/libs/sqwebmail/ispell.c:153:10: style: Local variable 'l' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/ispell.c:48:8: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/ispell.c:153:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/ldaplist.c:89:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAPADDRESSBOOK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/ldaplist.c:196:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/ldaplist.c:237:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAPADDRESSBOOK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/logindomainlist.c:77:35: style: Parameter 'stringp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:79:8: style: Variable 'wildcardp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:106:8: style: Variable 'tempfirst' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:107:8: style: Variable 'tempsecond' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:108:8: style: Variable 'tempthird' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:143:40: style: Parameter 'statementp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:204:8: style: Variable 'afterwildcardp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:304:42: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:327:8: style: Variable 'beforewildcardp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:412:8: style: Variable 'serveraddr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:413:8: style: Variable 'httphost' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:553:43: style: Parameter 'defaultdomainp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:578:41: style: Parameter 'defaultdomainp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:606:50: style: Parameter 'defaultdomainp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/logindomainlist.c:606:72: style: Parameter 'defaultgroupp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/maildir.c:122:0: error: #error You do not have utime or utimes function. Upgrade your operating system. [preprocessorErrorDirective] courier-1.4.1/libs/sqwebmail/maildir.c:122:2: error: #error You do not have utime or utimes function. Upgrade your operating system. [preprocessorErrorDirective] courier-1.4.1/libs/sqwebmail/mailfilter.c:172:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/mailfilter.c:362:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/mailfilter.c:419:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NUMBUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/mailfilter.c:148:27: style: Condition 'r' is always true [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/mailfilter.c:154:34: style: Condition 'r' is always true [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/mailfilter.c:160:32: style: Condition 'r' is always true [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/mailfilter.c:512:17: warning: If memory allocation fails, then there is a possible null pointer dereference: tofolder [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/mailfilter.c:510:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/mailfilter.c:510:18: note: Assignment 'tofolder=malloc(strlen(p)+2)', assigned value is 0 courier-1.4.1/libs/sqwebmail/mailfilter.c:512:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/mailfilter.c:519:17: warning: If memory allocation fails, then there is a possible null pointer dereference: tofolder [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/mailfilter.c:517:18: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/mailfilter.c:517:18: note: Assignment 'tofolder=malloc(strlen(p)+2)', assigned value is 0 courier-1.4.1/libs/sqwebmail/mailfilter.c:519:17: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/mailfilter.c:558:32: warning: Either the condition '!q' is redundant or there is possible null pointer dereference: q. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/mailfilter.c:555:7: note: Assuming that condition '!q' is not redundant courier-1.4.1/libs/sqwebmail/mailfilter.c:558:32: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/mailfilter.c:588:13: warning: If memory allocation fails, then there is a possible null pointer dereference: fieldname_cpy [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/mailfilter.c:586:23: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/mailfilter.c:586:23: note: Assignment 'fieldname_cpy=strdup(fieldname)', assigned value is 0 courier-1.4.1/libs/sqwebmail/mailfilter.c:588:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/mailfilter.c:102:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/mailfilter.c:86:13: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/mailfilter.c:102:15: note: Shadow variable courier-1.4.1/libs/sqwebmail/mailfilter.c:584:9: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/mailfilter.c:410:13: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/mailfilter.c:584:9: note: Shadow variable courier-1.4.1/libs/sqwebmail/mailfilter.c:239:59: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] courier-1.4.1/libs/sqwebmail/msg2html.c:185:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:248:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:387:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:466:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:972:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:1148:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable unicode_u_ucs4_native [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:1265:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:2917:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:3058:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:3173:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/msg2html.c:596:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/sqwebmail/msg2html.c:887:9: style: Condition 'sid' is always true [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/msg2html.c:887:16: style: Condition '*sid' is always true [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/msg2html.c:64:38: error: Memory leak: buf [memleak] courier-1.4.1/libs/sqwebmail/msg2html.c:281:6: warning: Either the condition 'sai' is redundant or there is possible null pointer dereference: sai. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/msg2html.c:278:6: note: Assuming that condition 'sai' is not redundant courier-1.4.1/libs/sqwebmail/msg2html.c:281:6: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2819:9: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2819:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2821:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2821:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2822:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2822:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2823:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2823:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2824:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2824:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2825:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2825:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2826:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2826:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2828:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2828:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2833:2: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2833:2: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2848:3: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2848:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:2851:6: warning: If memory allocation fails, then there is a possible null pointer dereference: tinfo [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/msg2html.c:2817:9: note: Assignment 'tinfo=malloc(sizeof(struct msg2html_textplain_info))', assigned value is 0 courier-1.4.1/libs/sqwebmail/msg2html.c:2851:6: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/msg2html.c:336:3: style: Redundant assignment of 'p' to itself. [selfAssignment] courier-1.4.1/libs/sqwebmail/msg2html.c:689:4: style: Redundant assignment of 'id' to itself. [selfAssignment] courier-1.4.1/libs/sqwebmail/msg2html.c:1138:4: style: Redundant assignment of 'id' to itself. [selfAssignment] courier-1.4.1/libs/sqwebmail/msg2html.c:1252:4: style: Redundant assignment of 'id' to itself. [selfAssignment] courier-1.4.1/libs/sqwebmail/msg2html.c:2969:4: style: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/sqwebmail/msg2html.c:2962:6: note: rc is assigned courier-1.4.1/libs/sqwebmail/msg2html.c:2969:4: note: rc is overwritten courier-1.4.1/libs/sqwebmail/msg2html.c:2060:27: style:inconclusive: Function 'process_text_wiki' argument 2 names different: declaration 'txt_ret' definition 'txt'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.c:1988:27: note: Function 'process_text_wiki' argument 2 names different: declaration 'txt_ret' definition 'txt'. courier-1.4.1/libs/sqwebmail/msg2html.c:2060:27: note: Function 'process_text_wiki' argument 2 names different: declaration 'txt_ret' definition 'txt'. courier-1.4.1/libs/sqwebmail/msg2html.c:2061:18: style:inconclusive: Function 'process_text_wiki' argument 3 names different: declaration 'txt_size_ret' definition 'txt_size'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.c:1989:18: note: Function 'process_text_wiki' argument 3 names different: declaration 'txt_size_ret' definition 'txt_size'. courier-1.4.1/libs/sqwebmail/msg2html.c:2061:18: note: Function 'process_text_wiki' argument 3 names different: declaration 'txt_size_ret' definition 'txt_size'. courier-1.4.1/libs/sqwebmail/msg2html.c:2221:70: style:inconclusive: Function 'text_contents_notalpha' argument 1 names different: declaration 'ptr' definition 'info'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.c:1607:70: note: Function 'text_contents_notalpha' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2221:70: note: Function 'text_contents_notalpha' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2553:70: style:inconclusive: Function 'text_process_decor_begin' argument 1 names different: declaration 'ptr' definition 'info'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.c:1604:70: note: Function 'text_process_decor_begin' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2553:70: note: Function 'text_process_decor_begin' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2597:68: style:inconclusive: Function 'text_process_decor_end' argument 1 names different: declaration 'ptr' definition 'info'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.c:1605:68: note: Function 'text_process_decor_end' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2597:68: note: Function 'text_process_decor_end' argument 1 names different: declaration 'ptr' definition 'info'. courier-1.4.1/libs/sqwebmail/msg2html.c:2882:60: style:inconclusive: Function 'msg2html_textplain_end' argument 1 names different: declaration 'info' definition 'tinfo'. [funcArgNamesDifferent] courier-1.4.1/libs/sqwebmail/msg2html.h:164:60: note: Function 'msg2html_textplain_end' argument 1 names different: declaration 'info' definition 'tinfo'. courier-1.4.1/libs/sqwebmail/msg2html.c:2882:60: note: Function 'msg2html_textplain_end' argument 1 names different: declaration 'info' definition 'tinfo'. courier-1.4.1/libs/sqwebmail/msg2html.c:365:9: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/sqwebmail/msg2html.c:345:75: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/msg2html.c:365:9: note: Shadow variable courier-1.4.1/libs/sqwebmail/msg2html.c:806:19: style: Local variable 'q' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/msg2html.c:764:17: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/msg2html.c:806:19: note: Shadow variable courier-1.4.1/libs/sqwebmail/msg2html.c:808:6: style: Local variable 'dummy' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/msg2html.c:763:28: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/msg2html.c:808:6: note: Shadow variable courier-1.4.1/libs/sqwebmail/msg2html.c:293:69: style: Parameter 'p' can be declared as pointer to const. However it seems that 'showaddressheader_printsep_plain' is a callback function, if 'p' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/msg2html.c:436:5: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/msg2html.c:293:69: note: Parameter 'p' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/msg2html.c:592:14: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/msg2html.c:920:58: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'text_to_stdout' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/msg2html.c:1150:6: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/msg2html.c:920:58: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/msg2html.c:3178:44: style: Parameter 'idptr' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/msg2html.c:336:3: style: Variable 'p' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/sqwebmail/newmsg.c:264:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:285:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:302:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:315:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:510:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:592:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:970:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg.c:566:6: style: The if condition is the same as the previous if condition [duplicateCondition] courier-1.4.1/libs/sqwebmail/newmsg.c:561:6: note: First condition courier-1.4.1/libs/sqwebmail/newmsg.c:566:6: note: Second condition courier-1.4.1/libs/sqwebmail/newmsg.c:697:9: style: The if condition is the same as the previous if condition [duplicateCondition] courier-1.4.1/libs/sqwebmail/newmsg.c:695:9: note: First condition courier-1.4.1/libs/sqwebmail/newmsg.c:697:9: note: Second condition courier-1.4.1/libs/sqwebmail/newmsg.c:753:6: style: Condition 'curto' is always false [knownConditionTrueFalse] courier-1.4.1/libs/sqwebmail/newmsg.c:644:8: note: Assignment 'curto=0', assigned value is 0 courier-1.4.1/libs/sqwebmail/newmsg.c:753:6: note: Condition 'curto' is always false courier-1.4.1/libs/sqwebmail/newmsg.c:657:5: error: Resource handle 'x' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg.c:656:12: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg.c:657:5: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg.c:1070:7: error: Resource handle 'x' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg.c:1069:14: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg.c:1070:7: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg.c:464:9: warning: Either the condition '!p' is redundant or there is possible null pointer dereference: p. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/newmsg.c:458:6: note: Assuming that condition '!p' is not redundant courier-1.4.1/libs/sqwebmail/newmsg.c:464:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/newmsg.c:694:12: warning: If memory allocation fails, then there is a possible null pointer dereference: newh [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/newmsg.c:690:22: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/newmsg.c:690:22: note: Assignment 'newh=malloc((*rfchp?strlen(*rfchp)+2:1)+strlen(value))', assigned value is 0 courier-1.4.1/libs/sqwebmail/newmsg.c:694:12: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/newmsg.c:594:9: style: Variable 'p' is reassigned a value before the old one has been used. [redundantAssignment] courier-1.4.1/libs/sqwebmail/newmsg.c:570:4: note: p is assigned courier-1.4.1/libs/sqwebmail/newmsg.c:594:9: note: p is overwritten courier-1.4.1/libs/sqwebmail/newmsg.c:605:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/newmsg.c:552:14: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/newmsg.c:605:16: note: Shadow variable courier-1.4.1/libs/sqwebmail/newmsg.c:1115:18: style: Local variable 'filesize' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/newmsg.c:923:15: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/newmsg.c:1115:18: note: Shadow variable courier-1.4.1/libs/sqwebmail/newmsg.c:351:67: style: Parameter 'info' can be declared as pointer to const. However it seems that 'show_textarea_ignore_sig' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/newmsg.c:333:18: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/newmsg.c:351:67: note: Parameter 'info' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/newmsg.c:371:9: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg.c:662:8: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg.c:1055:10: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:63:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:187:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rfc2047_qp_allow_any [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:377:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNICODE_LB_NONE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:416:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UNICODE_LB_OPT_PRBREAK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:540:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:901:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:979:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tokens [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1100:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1336:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLONGSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1084:2: error: Memory pointed to by 'header_cpy' is freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1079:3: note: Memory pointed to by 'header_cpy' is freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1084:2: note: Memory pointed to by 'header_cpy' is freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1116:4: error: Resource handle 'x' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1115:11: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1116:4: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1136:3: error: Memory pointed to by 'filename' is freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1120:3: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1136:3: note: Memory pointed to by 'filename' is freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1137:3: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1127:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:1137:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_create.c:972:14: warning:inconclusive: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/newmsg_create.c:966:6: note: Assuming that condition '!a' is not redundant courier-1.4.1/libs/sqwebmail/newmsg_create.c:972:14: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/newmsg_create.c:1360:27: warning:inconclusive: Possible null pointer dereference: boundary [nullPointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1402:10: note: Assignment 'p=0', assigned value is 0 courier-1.4.1/libs/sqwebmail/newmsg_create.c:1408:37: note: Calling function 'multipart_boundary_checks', 1st argument 'p' value is 0 courier-1.4.1/libs/sqwebmail/newmsg_create.c:1360:27: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/newmsg_create.c:1365:23: warning:inconclusive: Possible null pointer dereference: boundary [nullPointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1402:10: note: Assignment 'p=0', assigned value is 0 courier-1.4.1/libs/sqwebmail/newmsg_create.c:1408:37: note: Calling function 'multipart_boundary_checks', 1st argument 'p' value is 0 courier-1.4.1/libs/sqwebmail/newmsg_create.c:1365:23: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/newmsg_create.c:464:11: style: Local variable 'i' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/newmsg_create.c:434:9: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/newmsg_create.c:464:11: note: Shadow variable courier-1.4.1/libs/sqwebmail/newmsg_create.c:464:14: style: Local variable 'j' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/newmsg_create.c:434:14: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/newmsg_create.c:464:14: note: Shadow variable courier-1.4.1/libs/sqwebmail/newmsg_create.c:115:7: style: Variable 'pfix' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:562:8: style: Variable 'header' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1065:8: style: Variable 'value_cpy' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1413:53: style: Parameter 'rfcp' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:74:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:78:4: error: Resource handle 'x' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:77:11: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:78:4: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:123:3: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:90:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:123:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:148:33: error: Dereferencing 'fp' after it is deallocated / released [deallocuse] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:187:4: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:90:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:187:4: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:194:2: error: Resource handle 'fp' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:90:3: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:194:2: note: Resource handle 'fp' freed twice. courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:37:42: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'ismyaddr' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:158:18: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/newmsg_newdraft.c:37:42: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/pcp.c:2704:33: error: There is an unknown macro here somewhere. Configuration is required. If SENDITSH is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/sqwebmail/pref.c:111:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AUTORENAMESENT [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/pref.c:384:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MINPASSLEN [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/pref.c:141:16: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/pref.c:599:16: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/pref.c:645:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/pref.c:555:3: error: Memory leak: utf8_buf [memleak] courier-1.4.1/libs/sqwebmail/pref.c:251:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/pref.c:249:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/pref.c:249:10: note: Assignment 'p=malloc(l)', assigned value is 0 courier-1.4.1/libs/sqwebmail/pref.c:251:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/pref.c:635:18: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/pref.c:631:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/pref.c:631:10: note: Assignment 'q=strdup(p)', assigned value is 0 courier-1.4.1/libs/sqwebmail/pref.c:635:18: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/pref.c:638:3: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assignment 's=malloc(strlen(q)+strlen(name)+strlen(value)+4)', assigned value is 0 courier-1.4.1/libs/sqwebmail/pref.c:638:3: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/pref.c:653:8: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assignment 's=malloc(strlen(q)+strlen(name)+strlen(value)+4)', assigned value is 0 courier-1.4.1/libs/sqwebmail/pref.c:647:37: note: Assuming condition is false courier-1.4.1/libs/sqwebmail/pref.c:653:8: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/pref.c:655:10: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/pref.c:635:10: note: Assignment 's=malloc(strlen(q)+strlen(name)+strlen(value)+4)', assigned value is 0 courier-1.4.1/libs/sqwebmail/pref.c:647:37: note: Assuming condition is false courier-1.4.1/libs/sqwebmail/pref.c:655:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/pref.c:113:15: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/pref.c:100:13: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/pref.c:113:15: note: Shadow variable courier-1.4.1/libs/sqwebmail/pref.c:73:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/showmsg2html.c:19:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/showmsg2html.c:25:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/sqconfig.c:32:23: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqconfig.c:27:15: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqconfig.c:27:15: note: Assignment 'p=malloc(strlen(dir)+strlen(configfile)+2)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqconfig.c:32:23: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqconfig.c:33:10: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqconfig.c:27:15: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqconfig.c:27:15: note: Assignment 'p=malloc(strlen(dir)+strlen(configfile)+2)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqconfig.c:33:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqconfig.c:59:23: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqconfig.c:52:16: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqconfig.c:52:16: note: Assignment 'p=malloc(strlen(dir)+strlen(configfile)+2)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqconfig.c:59:23: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqconfig.c:82:10: warning: Either the condition '!fp' is redundant or there is possible null pointer dereference: fp. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/sqconfig.c:75:6: note: Assuming that condition '!fp' is not redundant courier-1.4.1/libs/sqwebmail/sqconfig.c:82:10: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqconfig.c:84:13: warning:inconclusive: Either the condition '!fp' is redundant or there is possible null pointer dereference: fp. [nullPointerRedundantCheck] courier-1.4.1/libs/sqwebmail/sqconfig.c:75:6: note: Assuming that condition '!fp' is not redundant courier-1.4.1/libs/sqwebmail/sqconfig.c:84:13: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:35:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/sqispell.c:70:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/sqispell.c:654:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INBOX [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/sqispell.c:602:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/sqispell.c:631:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/sqispell.c:631:42: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/sqwebmail/sqispell.c:73:4: error: Resource handle 'x' freed twice. [doubleFree] courier-1.4.1/libs/sqwebmail/sqispell.c:72:11: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/sqispell.c:73:4: note: Resource handle 'x' freed twice. courier-1.4.1/libs/sqwebmail/sqispell.c:344:11: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assignment 'p=malloc(strlen(newline?newline:line)+strlen(newword)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:344:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:346:11: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assignment 'p=malloc(strlen(newline?newline:line)+strlen(newword)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:346:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:569:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:565:15: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:565:15: note: Assignment 'p=malloc(sqwebmail_content_ispelldict?strlen(sqwebmail_content_ispelldict)+20:20)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:569:16: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:572:11: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:565:15: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:565:15: note: Assignment 'p=malloc(sqwebmail_content_ispelldict?strlen(sqwebmail_content_ispelldict)+20:20)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:572:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:600:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:598:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:598:10: note: Assignment 'p=malloc(strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:600:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:630:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:628:10: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:628:10: note: Assignment 'p=malloc(strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:630:9: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:637:11: warning: If memory allocation fails, then there is a possible null pointer dereference: q [nullPointerOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:635:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:635:12: note: Assignment 'q=malloc(strlen(r)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:637:11: note: Null pointer dereference courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assignment 'p=malloc(strlen(newline?newline:line)+strlen(newword)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: note: Null pointer addition courier-1.4.1/libs/sqwebmail/sqispell.c:61:10: style: Local variable 'paragraph' shadows outer variable [shadowVariable] courier-1.4.1/libs/sqwebmail/sqispell.c:298:17: note: Shadowed declaration courier-1.4.1/libs/sqwebmail/sqispell.c:61:10: note: Shadow variable courier-1.4.1/libs/sqwebmail/sqispell.c:35:7: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/sqispell.c:376:53: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'showfunc' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/sqispell.c:415:10: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/sqispell.c:376:53: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/sqispell.c:625:15: style: Variable 'r' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sqwebmail/sqwebmail.c:2102:39: error: There is an unknown macro here somewhere. Configuration is required. If SENT is a macro then please configure it. [unknownMacro] courier-1.4.1/libs/sqwebmail/sqwebmaild.c:40:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/sqwebpasswd.c:25:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/testhtml.c:33:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/sqwebmail/testhtml.c:6:62: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'write_stdout' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/testhtml.c:27:21: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/testhtml.c:6:62: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/testhtml.c:15:46: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'cid_func' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/sqwebmail/testhtml.c:31:31: note: You might need to cast the function pointer here courier-1.4.1/libs/sqwebmail/testhtml.c:15:46: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/sqwebmail/testlogindomainlist.c:10:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/argparse.c:38:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:159:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:196:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:220:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBGNUTLS_VERSION [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:467:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_X509_FMT_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:523:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_E_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:582:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:623:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_E_INSUFFICIENT_CREDENTIALS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:979:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1017:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_E_FILE_ERROR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1078:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_X509_FMT_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1138:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_NAME_DNS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1244:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_CRT_X509 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1431:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_X509_FMT_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1547:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1574:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1773:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1794:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_SHUT_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1932:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_E_SHORT_MEMORY_BUFFER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2057:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_CRT_X509 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2145:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_X509_FMT_DER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2340:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNUTLS_E_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriergnutls.c:383:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2030:19: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1671:80: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1028:7: style: Condition 'fp' is always true [knownConditionTrueFalse] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1688:35: style: Condition 'read_dh_params(ssl->dhparams,ctx->dhfile,&ssl->dhparams_initialized)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1687:20: note: Calling function 'read_dh_params' returns 0 courier-1.4.1/libs/tcpd/libcouriergnutls.c:1688:35: note: Condition 'read_dh_params(ssl->dhparams,ctx->dhfile,&ssl->dhparams_initialized)<0' is always false courier-1.4.1/libs/tcpd/libcouriergnutls.c:1690:35: style: Condition 'read_dh_params(ssl->dhparams,ctx->certfile,&ssl->dhparams_initialized)<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1689:20: note: Calling function 'read_dh_params' returns 0 courier-1.4.1/libs/tcpd/libcouriergnutls.c:1690:35: note: Condition 'read_dh_params(ssl->dhparams,ctx->certfile,&ssl->dhparams_initialized)<0' is always false courier-1.4.1/libs/tcpd/libcouriergnutls.c:1032:2: error: Resource leak: fp [resourceLeak] courier-1.4.1/libs/tcpd/libcouriergnutls.c:1584:17: error: Memory leak: ssl [memleak] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2143:27: warning: If memory allocation fails, then there is a possible null pointer dereference: cert [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assignment 'cert=malloc(sizeof(*cert)*cert_list_size)', assigned value is 0 courier-1.4.1/libs/tcpd/libcouriergnutls.c:2143:27: note: Null pointer dereference courier-1.4.1/libs/tcpd/libcouriergnutls.c:2157:12: warning: If memory allocation fails, then there is a possible null pointer dereference: cert [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assignment 'cert=malloc(sizeof(*cert)*cert_list_size)', assigned value is 0 courier-1.4.1/libs/tcpd/libcouriergnutls.c:2157:12: note: Null pointer dereference courier-1.4.1/libs/tcpd/libcouriergnutls.c:2169:7: warning: If memory allocation fails, then there is a possible null pointer dereference: cert [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/libcouriergnutls.c:2138:14: note: Assignment 'cert=malloc(sizeof(*cert)*cert_list_size)', assigned value is 0 courier-1.4.1/libs/tcpd/libcouriergnutls.c:2169:7: note: Null pointer dereference courier-1.4.1/libs/tcpd/libcouriergnutls.c:349:30: style:inconclusive: Function 'tls_destroy' argument 1 names different: declaration 'ctx' definition 'p'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/libcouriertls.h:188:30: note: Function 'tls_destroy' argument 1 names different: declaration 'ctx' definition 'p'. courier-1.4.1/libs/tcpd/libcouriergnutls.c:349:30: note: Function 'tls_destroy' argument 1 names different: declaration 'ctx' definition 'p'. courier-1.4.1/libs/tcpd/libcouriergnutls.c:1778:44: style:inconclusive: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/libcouriertls.h:271:44: note: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. courier-1.4.1/libs/tcpd/libcouriergnutls.c:1778:44: note: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. courier-1.4.1/libs/tcpd/libcouriergnutls.c:377:17: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriergnutls.c:414:18: style: Parameter 'stat_buf' can be declared as pointer to const. However it seems that 'cnt_cert_size' is a callback function, if 'stat_buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/libcouriergnutls.c:475:30: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/libcouriergnutls.c:414:18: note: Parameter 'stat_buf' can be declared as pointer to const courier-1.4.1/libs/tcpd/libcouriergnutls.c:427:21: style: Parameter 'stat_buf' can be declared as pointer to const. However it seems that 'save_cert_to_buf' is a callback function, if 'stat_buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/libcouriergnutls.c:486:30: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/libcouriergnutls.c:427:21: note: Parameter 'stat_buf' can be declared as pointer to const courier-1.4.1/libs/tcpd/libcouriergnutls.c:1459:18: style: Variable 'key' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriergnutls.c:2030:13: style: Variable 'tmptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:260:19: debug: Function::addArguments found argument 'GENERAL_NAME' with varid 0. [varid0] courier-1.4.1/libs/tcpd/libcouriertls.c:110:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SSL_VERIFY_PEER [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:209:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:233:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GENERAL_NAME [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:267:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable subject_alt_names [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:362:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:470:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERR_LIB_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:575:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SSL_FILETYPE_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:624:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X509_NAME [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:772:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SSL_TLSEXT_ERR_OK [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1020:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1285:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SSL_SESS_CACHE_OFF [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1312:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1570:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IDNA_SUCCESS [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1632:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1649:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1889:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GENERAL_NAME [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:2008:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X509 [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:2115:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERR_LIB_PEM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/libcouriertls.c:1158:23: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] courier-1.4.1/libs/tcpd/libcouriertls.c:1974:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/tcpd/libcouriertls.c:1988:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] courier-1.4.1/libs/tcpd/libcouriertls.c:1428:50: style:inconclusive: Function 'cache_del' argument 2 names different: declaration 'ssl' definition 'sess'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/libcouriertls.c:1275:50: note: Function 'cache_del' argument 2 names different: declaration 'ssl' definition 'sess'. courier-1.4.1/libs/tcpd/libcouriertls.c:1428:50: note: Function 'cache_del' argument 2 names different: declaration 'ssl' definition 'sess'. courier-1.4.1/libs/tcpd/libcouriertls.c:1643:44: style:inconclusive: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/libcouriertls.h:271:44: note: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. courier-1.4.1/libs/tcpd/libcouriertls.c:1643:44: note: Function 'tls_transfer' argument 1 names different: declaration 'info' definition 't'. courier-1.4.1/libs/tcpd/libcouriertls.c:233:25: warning:inconclusive: Found suspicious operator '*', result is not used. [constStatement] courier-1.4.1/libs/tcpd/libcouriertls.c:624:22: warning:inconclusive: Found suspicious operator '*', result is not used. [constStatement] courier-1.4.1/libs/tcpd/libcouriertls.c:1889:25: warning:inconclusive: Found suspicious operator '*', result is not used. [constStatement] courier-1.4.1/libs/tcpd/libcouriertls.c:728:48: style: Parameter 'ad' can be declared as pointer to const. However it seems that 'server_cert_cb' is a callback function, if 'ad' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/libcouriertls.c:1222:47: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/libcouriertls.c:728:48: note: Parameter 'ad' can be declared as pointer to const courier-1.4.1/libs/tcpd/libcouriertls.c:728:58: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'server_cert_cb' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/libcouriertls.c:1222:47: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/libcouriertls.c:728:58: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/tcpd/libcouriertls.c:1154:19: style: Variable 'de' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1317:8: style: Variable 'session_id' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1448:20: style: Variable 'wi' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1822:19: style: Variable 'info' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1829:19: style: Variable 'info' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1974:14: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/libcouriertls.c:1988:14: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/starttls.c:113:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:120:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:342:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:469:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:515:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:619:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:804:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/starttls.c:431:11: portability: Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'. [prohibitedgetservbynameCalled] courier-1.4.1/libs/tcpd/starttls.c:429:18: style: Variable 'servent' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/starttls.c:144:21: warning: Uninitialized variable: transfer_info.readptr [uninitvar] courier-1.4.1/libs/tcpd/starttls.c:140:31: note: Assignment 'transfer_info.readptr=fromptr=from_ssl_buf', assigned value is courier-1.4.1/libs/tcpd/starttls.c:144:21: note: Uninitialized variable: transfer_info.readptr courier-1.4.1/libs/tcpd/starttls.c:308:18: style: Variable 'printx509_fd' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/tcpd/tcpd.c:180:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INADDR_ANY [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:327:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:459:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:693:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1036:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1187:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1313:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1538:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1670:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1849:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_NTOABUFSIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1865:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1891:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:1920:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:2055:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:2155:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:2175:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RFC1035_MAXNAMESIZE [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:2279:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tcpd.c:299:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:390:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:451:10: portability: Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'. [prohibitedgetservbynameCalled] courier-1.4.1/libs/tcpd/tcpd.c:799:16: portability: Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'. [prohibitedgetgrnamCalled] courier-1.4.1/libs/tcpd/tcpd.c:1405:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1412:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1413:20: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1414:19: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1415:22: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1416:21: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tcpd.c:1735:6: style: Obsolescent function 'gethostbyaddr' called. It is recommended to use 'getnameinfo' instead. [prohibitedgethostbyaddrCalled] courier-1.4.1/libs/tcpd/tcpd.c:1748:7: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] courier-1.4.1/libs/tcpd/tcpd.c:1074:14: warning: Either the condition '(accessptr=*buf?chkaccess(buf):0)==0' is redundant or there is possible null pointer dereference: accessptr. [nullPointerRedundantCheck] courier-1.4.1/libs/tcpd/tcpd.c:1053:46: note: Assuming that condition '(accessptr=*buf?chkaccess(buf):0)==0' is not redundant courier-1.4.1/libs/tcpd/tcpd.c:1074:14: note: Null pointer dereference courier-1.4.1/libs/tcpd/tcpd.c:1659:9: warning: If memory allocation fails, then there is a possible null pointer dereference: name [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/tcpd.c:1854:10: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/tcpd.c:1854:10: note: Assignment 'p=malloc(strlen(varname)+20)', assigned value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1857:11: note: Calling function 'mysetenv', 1st argument 'p' value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1659:9: note: Null pointer dereference courier-1.4.1/libs/tcpd/tcpd.c:1828:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/tcpd.c:1826:16: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/tcpd.c:1826:16: note: Assignment 'p=malloc(strlen(varname)+20)', assigned value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1828:16: note: Null pointer dereference courier-1.4.1/libs/tcpd/tcpd.c:1839:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/tcpd.c:1837:16: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/tcpd.c:1837:16: note: Assignment 'p=malloc(strlen(varname)+20)', assigned value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1839:16: note: Null pointer dereference courier-1.4.1/libs/tcpd/tcpd.c:1856:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] courier-1.4.1/libs/tcpd/tcpd.c:1854:10: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/tcpd.c:1854:10: note: Assignment 'p=malloc(strlen(varname)+20)', assigned value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1856:16: note: Null pointer dereference courier-1.4.1/libs/tcpd/tcpd.c:998:8: style: Redundant assignment of 'signum' to itself. [selfAssignment] courier-1.4.1/libs/tcpd/tcpd.c:2167:13: style:inconclusive: Function 'run' argument 5 names different: declaration 'lsinl' definition 'i'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/tcpd.c:981:13: note: Function 'run' argument 5 names different: declaration 'lsinl' definition 'i'. courier-1.4.1/libs/tcpd/tcpd.c:2167:13: note: Function 'run' argument 5 names different: declaration 'lsinl' definition 'i'. courier-1.4.1/libs/tcpd/tcpd.c:409:20: style: Local variable 'p' shadows outer argument [shadowArgument] courier-1.4.1/libs/tcpd/tcpd.c:379:34: note: Shadowed declaration courier-1.4.1/libs/tcpd/tcpd.c:409:20: note: Shadow variable courier-1.4.1/libs/tcpd/tcpd.c:873:16: style: Local variable 'p' shadows outer variable [shadowVariable] courier-1.4.1/libs/tcpd/tcpd.c:837:8: note: Shadowed declaration courier-1.4.1/libs/tcpd/tcpd.c:873:16: note: Shadow variable courier-1.4.1/libs/tcpd/tcpd.c:1115:9: style: Local variable 'r' shadows outer variable [shadowVariable] courier-1.4.1/libs/tcpd/tcpd.c:1046:15: note: Shadowed declaration courier-1.4.1/libs/tcpd/tcpd.c:1115:9: note: Shadow variable courier-1.4.1/libs/tcpd/tcpd.c:1597:19: style: Local variable 'lsin' shadows outer variable [shadowVariable] courier-1.4.1/libs/tcpd/tcpd.c:1503:18: note: Shadowed declaration courier-1.4.1/libs/tcpd/tcpd.c:1597:19: note: Shadow variable courier-1.4.1/libs/tcpd/tcpd.c:2003:11: style: Local variable 'l' shadows outer variable [shadowVariable] courier-1.4.1/libs/tcpd/tcpd.c:1928:9: note: Shadowed declaration courier-1.4.1/libs/tcpd/tcpd.c:2003:11: note: Shadow variable courier-1.4.1/libs/tcpd/tcpd.c:382:12: style: Variable 'a' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/tcpd.c:434:18: style: Variable 'servptr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/tcpd.c:682:15: style: Variable 'gr' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/tcpd.c:1722:18: style: Variable 'he' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/tcpd/tcpd.c:998:8: style: Variable 'signum' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/tcpd/tcpd.c:1067:18: style: Variable 'accessptr' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/tcpd/tlscache.c:43:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:131:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:208:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:279:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:304:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:445:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:505:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ll_readlock [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:610:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscache.c:443:40: style:inconclusive: Function 'init' argument 2 names different: declaration 's' definition 'size'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/tlscache.c:108:39: note: Function 'init' argument 2 names different: declaration 's' definition 'size'. courier-1.4.1/libs/tcpd/tlscache.c:443:40: note: Function 'init' argument 2 names different: declaration 's' definition 'size'. courier-1.4.1/libs/tcpd/tlscache.c:570:33: style:inconclusive: Function 'dowalk' argument 1 names different: declaration 'cache' definition 'p'. [funcArgNamesDifferent] courier-1.4.1/libs/tcpd/tlscache.c:488:33: note: Function 'dowalk' argument 1 names different: declaration 'cache' definition 'p'. courier-1.4.1/libs/tcpd/tlscache.c:570:33: note: Function 'dowalk' argument 1 names different: declaration 'cache' definition 'p'. courier-1.4.1/libs/tcpd/tlscache.c:229:34: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlscache.c:249:35: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlscache.c:264:34: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlscache.c:443:31: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlscache.c:623:26: error: Uninitialized struct member: o.my_size [uninitStructMember] courier-1.4.1/libs/tcpd/tlscachetest.c:13:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlscachetest.c:10:29: style: Parameter 'rec' can be declared as pointer to const. However it seems that 'printcache' is a callback function, if 'rec' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/tlscachetest.c:68:24: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/tlscachetest.c:10:29: note: Parameter 'rec' can be declared as pointer to const courier-1.4.1/libs/tcpd/tlscachetest.c:19:15: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'replacecache' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/tlscachetest.c:60:26: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/tlscachetest.c:19:15: note: Parameter 'arg' can be declared as pointer to const courier-1.4.1/libs/tcpd/tlsclient.c:133:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlsclient.c:286:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlsclient.c:94:4: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tlsclient.c:106:6: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tlsclient.c:156:8: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tlsclient.c:175:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tlsclient.c:201:5: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] courier-1.4.1/libs/tcpd/tlsinfo.c:22:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlsinfo.c:15:62: style: Parameter 'dummy' can be declared as pointer to const. However it seems that 'getenv_wrapper' is a callback function, if 'dummy' is declared with const you might also need to cast function pointer(s). [constParameterCallback] courier-1.4.1/libs/tcpd/tlsinfo.c:26:33: note: You might need to cast the function pointer here courier-1.4.1/libs/tcpd/tlsinfo.c:15:62: note: Parameter 'dummy' can be declared as pointer to const courier-1.4.1/libs/tcpd/tlspasswordcache.c:1001:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlspasswordcache.c:1014:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/tcpd/tlspasswordcache.c:999:15: style: Parameter 'writefuncarg' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlspasswordcache.c:1006:15: style: Parameter 'readfuncarg' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/tcpd/tlspasswordcache.c:1012:15: style: Parameter 'callback_arg' can be declared as pointer to const [constParameterPointer] courier-1.4.1/libs/threadlib/pthread.c:67:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/threadlib/pthread.c:131:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/threadlib/pthread.c:217:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/threadlib/pthread.c:285:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/threadlib/test.c:33:9: style: Variable 'dp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/threadlib/test.c:41:9: style: Variable 'qp' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/waitlib/waitlib.c:61:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/waitlib/waitlib.c:71:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/waitlib/waitlib.c:106:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/waitlib/confwait.c:40:3: style: Redundant assignment of 'n' to itself. [selfAssignment] courier-1.4.1/libs/waitlib/confwait.c:40:3: style: Variable 'n' is assigned a value that is never used. [unreadVariable] courier-1.4.1/libs/waitlib/testwait.c:103:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] courier-1.4.1/libs/waitlib/testwait.c:98:8: style: Local variable 'c' shadows outer variable [shadowVariable] courier-1.4.1/libs/waitlib/testwait.c:60:6: note: Shadowed declaration courier-1.4.1/libs/waitlib/testwait.c:98:8: note: Shadow variable courier-1.4.1/libs/waitlib/waitlib2.c:64:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] courier-1.4.1/webadmin/webadmin.c:44:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAILGROUP [valueFlowBailoutIncompleteVar] courier-1.4.1/webadmin/webadmin.c:79:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCKDIR [valueFlowBailoutIncompleteVar] courier-1.4.1/webadmin/webadmin.c:44:5: portability: Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'. [prohibitedgetgrnamCalled] courier-1.4.1/webadmin/webadmin.c:58:5: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] courier-1.4.1/webadmin/webadmin.c:20:16: style: Variable 'g' can be declared as pointer to const [constVariablePointer] courier-1.4.1/webadmin/webadmin.c:21:17: style: Variable 'p' can be declared as pointer to const [constVariablePointer] courier-1.4.1/libs/sha1/sha1.c:153:19: error: Pointer arithmetic overflow; 'd' buffer size is 20 [ctuPointerArith] courier-1.4.1/libs/sha1/sha1.c:191:21: note: Calling function sha1_context_digest, 2nd argument is uninitialized courier-1.4.1/libs/sha1/sha1.c:153:19: note: Using argument d courier-1.4.1/libs/sha1/sha256.c:166:20: error: Pointer arithmetic overflow; 'd' buffer size is 32 [ctuPointerArith] courier-1.4.1/libs/sha1/sha256.c:204:23: note: Calling function sha256_context_digest, 2nd argument is uninitialized courier-1.4.1/libs/sha1/sha256.c:166:20: note: Using argument d courier-1.4.1/libs/sha1/sha512.c:185:20: error: Pointer arithmetic overflow; 'd' buffer size is 64 [ctuPointerArith] courier-1.4.1/libs/sha1/sha512.c:231:23: note: Calling function sha512_context_digest, 2nd argument is uninitialized courier-1.4.1/libs/sha1/sha512.c:185:20: note: Using argument d courier-1.4.1/libs/gpglib/list.c:433:10: warning: Null pointer dereference: p [ctunullpointer] courier-1.4.1/libs/gpglib/list.c:269:6: note: Assuming that condition '!line' is not redundant courier-1.4.1/libs/gpglib/list.c:296:3: note: p is assigned 'line' here. courier-1.4.1/libs/gpglib/list.c:297:23: note: Calling function nextword, 1st argument is null courier-1.4.1/libs/gpglib/list.c:433:10: note: Dereferencing argument p that is null courier-1.4.1/libs/imap/mailboxlist.c:185:19: warning: If memory allocation fails, then there is a possible null pointer dereference: dir [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assignment 'subdir=malloc(strlen(dir)+sizeof("/cur"))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:218:17: note: Calling function hasnewmsgs2, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:185:19: note: Dereferencing argument dir that is null courier-1.4.1/libs/imap/mailboxlist.c:291:25: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:14: note: Calling function folder_entry, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:291:25: note: Dereferencing argument folder that is null courier-1.4.1/libs/imap/mailboxlist.c:362:12: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:13: note: Calling function hier_entry, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:362:12: note: Dereferencing argument folder that is null courier-1.4.1/libs/imap/mailboxlist.c:1003:18: warning: If memory allocation fails, then there is a possible null pointer dereference: name [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:15: note: Calling function 'folder_entry', 1st argument 'p' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:296:20: note: Calling function match_mailbox_prep, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:1003:18: note: Dereferencing argument name that is null courier-1.4.1/libs/rfc1035/rfc1035.c:87:48: warning: Null pointer dereference: p [ctunullpointer] courier-1.4.1/libs/rfc1035/rfc1035.c:142:11: note: Assuming that condition 'p' is not redundant courier-1.4.1/libs/rfc1035/rfc1035.c:144:30: note: Calling function rfc1035_init_defaultdomain, 2nd argument is null courier-1.4.1/libs/rfc1035/rfc1035.c:87:48: note: Dereferencing argument p that is null courier-1.4.1/libs/sqwebmail/folder.c:2381:12: warning: If memory allocation fails, then there is a possible null pointer dereference: p [ctunullpointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assignment 'r=malloc(strlen(inbox_pfix)+strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3155:34: note: Calling function get_parent_folder, 1st argument is null courier-1.4.1/libs/sqwebmail/folder.c:2381:12: note: Dereferencing argument p that is null courier-1.4.1/libs/sqwebmail/gpg.c:67:11: warning: Null pointer dereference: p [ctunullpointer] courier-1.4.1/libs/sqwebmail/newmsg_create.c:1246:7: note: Assuming that condition '!encryptkeys' is not redundant courier-1.4.1/libs/sqwebmail/newmsg_create.c:1249:16: note: Calling function gpgbadarg, 1st argument is null courier-1.4.1/libs/sqwebmail/gpg.c:67:11: note: Dereferencing argument p that is null courier-1.4.1/libs/tcpd/tcpd.c:1659:9: warning: If memory allocation fails, then there is a possible null pointer dereference: name [ctunullpointerOutOfMemory] courier-1.4.1/libs/tcpd/tcpd.c:1826:16: note: Assuming allocation function fails courier-1.4.1/libs/tcpd/tcpd.c:1826:16: note: Assignment 'p=malloc(strlen(varname)+20)', assigned value is 0 courier-1.4.1/libs/tcpd/tcpd.c:1829:10: note: Calling function mysetenv, 1st argument is null courier-1.4.1/libs/tcpd/tcpd.c:1659:9: note: Dereferencing argument name that is null diff: 2.17.0 courier-1.4.1/courier/cdmsgq.h:98:14: performance:inconclusive: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq3.C:641:19: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq.h:98:14: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/courier/cdmsgq.h:99:14: performance:inconclusive: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq3.C:655:19: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq.h:99:14: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/cdmsgq3.C:641:19: performance:inconclusive: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq.h:98:14: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:641:19: note: Technically the member function 'msgq::needs_dsn' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/cdmsgq3.C:655:19: performance:inconclusive: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/cdmsgq.h:99:14: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/cdmsgq3.C:655:19: note: Technically the member function 'msgq::needs_warndsn' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/ldapaliasd.c:213:15: style: Variable 's' is assigned a value that is never used. [unreadVariable] 2.17.0 courier-1.4.1/courier/libs/aliases.h:62:6: style:inconclusive: Technically the member function 'AliasRecord::search' can be const. [functionConst] courier-1.4.1/courier/libs/comaliases2.C:24:18: note: Technically the member function 'AliasRecord::search' can be const. courier-1.4.1/courier/libs/aliases.h:62:6: note: Technically the member function 'AliasRecord::search' can be const. 2.17.0 courier-1.4.1/courier/libs/aliases.h:88:6: performance:inconclusive: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/comaliases4.C:245:18: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/aliases.h:88:6: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/courier/libs/aliases.h:89:6: performance:inconclusive: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/comaliases4.C:258:18: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/aliases.h:89:6: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/courier/libs/aliases.h:90:6: performance:inconclusive: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/comaliases4.C:298:18: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/aliases.h:90:6: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/libs/comaliases2.C:24:18: style:inconclusive: Technically the member function 'AliasRecord::search' can be const. [functionConst] courier-1.4.1/courier/libs/aliases.h:62:6: note: Technically the member function 'AliasRecord::search' can be const. courier-1.4.1/courier/libs/comaliases2.C:24:18: note: Technically the member function 'AliasRecord::search' can be const. head courier-1.4.1/courier/libs/comaliases4.C:245:18: performance:inconclusive: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:88:6: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:245:18: note: Technically the member function 'AliasSearch::Try' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/libs/comaliases4.C:258:18: performance:inconclusive: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:89:6: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:258:18: note: Technically the member function 'AliasSearch::TryVirtual' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/libs/comaliases4.C:298:18: performance:inconclusive: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/courier/libs/aliases.h:90:6: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/courier/libs/comaliases4.C:298:18: note: Technically the member function 'AliasSearch::TrySearch' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/courier/module.local/local.c:503:3: error: failed to expand 'syslog', Wrong number of parameters for macro 'syslog'. [preprocessorErrorDirective] head courier-1.4.1/libs/http11/contentlanguage.c:270:47: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] head courier-1.4.1/libs/imap/imaptoken.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] head courier-1.4.1/libs/imap/mailboxlist.c:1003:18: warning: If memory allocation fails, then there is a possible null pointer dereference: name [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:15: note: Calling function 'folder_entry', 1st argument 'p' value is 0 courier-1.4.1/libs/imap/mailboxlist.c:296:20: note: Calling function match_mailbox_prep, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:1003:18: note: Dereferencing argument name that is null head courier-1.4.1/libs/imap/mailboxlist.c:185:19: warning: If memory allocation fails, then there is a possible null pointer dereference: dir [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:215:15: note: Assignment 'subdir=malloc(strlen(dir)+sizeof("/cur"))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:218:17: note: Calling function hasnewmsgs2, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:185:19: note: Dereferencing argument dir that is null head courier-1.4.1/libs/imap/mailboxlist.c:291:25: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:405:15: note: Assignment 'p=malloc(strlen(n)+sizeof("shared."))', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:411:14: note: Calling function folder_entry, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:291:25: note: Dereferencing argument folder that is null head courier-1.4.1/libs/imap/mailboxlist.c:362:12: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [ctunullpointerOutOfMemory] courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assuming allocation function fails courier-1.4.1/libs/imap/mailboxlist.c:673:24: note: Assignment 'new_pfix=malloc(strlen(lni->acc_pfix)+strlen(n)+2)', assigned value is 0 courier-1.4.1/libs/imap/mailboxlist.c:681:4: note: n is assigned 'new_pfix' here. courier-1.4.1/libs/imap/mailboxlist.c:684:13: note: Calling function hier_entry, 1st argument is null courier-1.4.1/libs/imap/mailboxlist.c:362:12: note: Dereferencing argument folder that is null head courier-1.4.1/libs/imap/smap.c:1156:18: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1156:18: note: Null pointer dereference head courier-1.4.1/libs/imap/smap.c:1157:18: warning: Either the condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is redundant or there is possible null pointer dereference: msgsetp. [nullPointerRedundantCheck] courier-1.4.1/libs/imap/smap.c:1146:8: note: Assuming that condition '(msgsetp->next=malloc(sizeof(struct smapmsgset)))==NULL' is not redundant courier-1.4.1/libs/imap/smap.c:1151:19: note: Assignment 'msgsetp=msgsetp->next', assigned value is 0 courier-1.4.1/libs/imap/smap.c:1157:18: note: Null pointer dereference head courier-1.4.1/libs/maildrop/lexer.C:21:13: performance:inconclusive: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/lexer.h:45:7: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/lexer.C:21:13: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/lexer.C:509:13: style:inconclusive: Technically the member function 'Lexer::errmsg' can be const. [functionConst] courier-1.4.1/libs/maildrop/lexer.h:56:7: note: Technically the member function 'Lexer::errmsg' can be const. courier-1.4.1/libs/maildrop/lexer.C:509:13: note: Technically the member function 'Lexer::errmsg' can be const. 2.17.0 courier-1.4.1/libs/maildrop/lexer.h:45:7: performance:inconclusive: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/lexer.C:21:13: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/lexer.h:45:7: note: Technically the member function 'Lexer::error' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/lexer.h:56:7: style:inconclusive: Technically the member function 'Lexer::errmsg' can be const. [functionConst] courier-1.4.1/libs/maildrop/lexer.C:509:13: note: Technically the member function 'Lexer::errmsg' can be const. courier-1.4.1/libs/maildrop/lexer.h:56:7: note: Technically the member function 'Lexer::errmsg' can be const. head courier-1.4.1/libs/maildrop/message.h:178:23: style:inconclusive: Technically the member function 'Message::MessageSize' can be const. [functionConst] courier-1.4.1/libs/maildrop/message.h:76:8: note: Technically the member function 'Message::MessageSize' can be const. courier-1.4.1/libs/maildrop/message.h:178:23: note: Technically the member function 'Message::MessageSize' can be const. 2.17.0 courier-1.4.1/libs/maildrop/message.h:76:8: style:inconclusive: Technically the member function 'Message::MessageSize' can be const. [functionConst] courier-1.4.1/libs/maildrop/message.h:178:23: note: Technically the member function 'Message::MessageSize' can be const. courier-1.4.1/libs/maildrop/message.h:76:8: note: Technically the member function 'Message::MessageSize' can be const. head courier-1.4.1/libs/maildrop/mio.C:209:12: style:inconclusive: Technically the member function 'Mio::tell' can be const. [functionConst] courier-1.4.1/libs/maildrop/mio.h:50:8: note: Technically the member function 'Mio::tell' can be const. courier-1.4.1/libs/maildrop/mio.C:209:12: note: Technically the member function 'Mio::tell' can be const. 2.17.0 courier-1.4.1/libs/maildrop/mio.h:50:8: style:inconclusive: Technically the member function 'Mio::tell' can be const. [functionConst] courier-1.4.1/libs/maildrop/mio.C:209:12: note: Technically the member function 'Mio::tell' can be const. courier-1.4.1/libs/maildrop/mio.h:50:8: note: Technically the member function 'Mio::tell' can be const. head courier-1.4.1/libs/maildrop/recipenode.C:1223:18: performance:inconclusive: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:140:7: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1223:18: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/recipenode.C:1398:18: performance:inconclusive: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:137:7: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1398:18: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/recipenode.C:1505:17: performance:inconclusive: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:139:6: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1505:17: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/recipenode.C:1552:17: performance:inconclusive: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.h:141:6: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.C:1552:17: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/recipenode.h:137:7: performance:inconclusive: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.C:1398:18: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.h:137:7: note: Technically the member function 'RecipeNode::rfc822getaddr' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/recipenode.h:139:6: performance:inconclusive: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.C:1505:17: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.h:139:6: note: Technically the member function 'RecipeNode::rfc822hasaddr' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/recipenode.h:140:7: performance:inconclusive: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.C:1223:18: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.h:140:7: note: Technically the member function 'RecipeNode::SpecialEscape' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/recipenode.h:141:6: performance:inconclusive: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/recipenode.C:1552:17: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/recipenode.h:141:6: note: Technically the member function 'RecipeNode::dolookup' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/search.C:299:14: performance:inconclusive: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/search.h:73:7: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/search.C:299:14: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). 2.17.0 courier-1.4.1/libs/maildrop/search.h:73:7: performance:inconclusive: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). [functionStatic] courier-1.4.1/libs/maildrop/search.C:299:14: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). courier-1.4.1/libs/maildrop/search.h:73:7: note: Technically the member function 'Search::init_match_vars' can be static (but you may consider moving to unnamed namespace). head courier-1.4.1/libs/maildrop/token.C:78:20: style:inconclusive: Technically the member function 'Token::Name' can be const. [functionConst] courier-1.4.1/libs/maildrop/token.h:104:14: note: Technically the member function 'Token::Name' can be const. courier-1.4.1/libs/maildrop/token.C:78:20: note: Technically the member function 'Token::Name' can be const. 2.17.0 courier-1.4.1/libs/maildrop/token.h:104:14: style:inconclusive: Technically the member function 'Token::Name' can be const. [functionConst] courier-1.4.1/libs/maildrop/token.C:78:20: note: Technically the member function 'Token::Name' can be const. courier-1.4.1/libs/maildrop/token.h:104:14: note: Technically the member function 'Token::Name' can be const. head courier-1.4.1/libs/rfc1035/rfc1035udp.c:165:48: style: Condition '(len=dorecv(fd,bufptr,buflen,0,(struct sockaddr*)&addrfrom,&addrfromlen))<0' is always false [knownConditionTrueFalse] courier-1.4.1/libs/rfc1035/rfc1035udp.c:164:28: note: Calling function 'dorecv' returns !<=-1 courier-1.4.1/libs/rfc1035/rfc1035udp.c:165:48: note: Condition '(len=dorecv(fd,bufptr,buflen,0,(struct sockaddr*)&addrfrom,&addrfromlen))<0' is always false head courier-1.4.1/libs/sqwebmail/folder.c:2381:12: warning: If memory allocation fails, then there is a possible null pointer dereference: p [ctunullpointerOutOfMemory] courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/folder.c:3150:12: note: Assignment 'r=malloc(strlen(inbox_pfix)+strlen(c)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/folder.c:3155:34: note: Calling function get_parent_folder, 1st argument is null courier-1.4.1/libs/sqwebmail/folder.c:2381:12: note: Dereferencing argument p that is null head courier-1.4.1/libs/sqwebmail/maildir.c:122:2: error: #error You do not have utime or utimes function. Upgrade your operating system. [preprocessorErrorDirective] 2.17.0 courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: error: If memory allocation fail: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assignment 'p=malloc(strlen(newline?newline:line)+strlen(newword)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: note: Null pointer addition head courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assuming allocation function fails courier-1.4.1/libs/sqwebmail/sqispell.c:341:17: note: Assignment 'p=malloc(strlen(newline?newline:line)+strlen(newword)+1)', assigned value is 0 courier-1.4.1/libs/sqwebmail/sqispell.c:345:12: note: Null pointer addition head courier-1.4.1/libs/sqwebmail/sqispell.c:631:42: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] DONE