2026-05-01 14:12 ftp://ftp.de.debian.org/debian/pool/main/c/ctorrent/ctorrent_1.3.4.dnh3.3.2.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=openssl --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j6 platform: Linux-7.0.3+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.4.0 compiler: g++ (Debian 15.2.0-17) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a734 (2026-05-01 11:10:43 +0200) count: 409 406 elapsed-time: 1.0 0.9 head-timing-info: old-timing-info: head results: ctorrent-1.3.4.dnh3.3.2/bencode.cpp:192:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:202:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:207:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:212:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btstream.h:31:10: style:inconclusive: Technically the member function 'btStream::GetSocket' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:61:27: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:87:32: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:59:35: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:86:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:88:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:89:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:108:30: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:114:10: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btstream.cpp:15:21: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:99:10: style: The scope of the variable 'rl' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:131:13: style: The scope of the variable 'rl' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:240:10: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bencode.cpp:174:32: style:inconclusive: Function 'bencode_buf' argument 1 names different: declaration 'str' definition 'buf'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/bencode.h:29:32: note: Function 'bencode_buf' argument 1 names different: declaration 'str' definition 'buf'. ctorrent-1.3.4.dnh3.3.2/bencode.cpp:174:32: note: Function 'bencode_buf' argument 1 names different: declaration 'str' definition 'buf'. ctorrent-1.3.4.dnh3.3.2/compat.c:25:2: error: #error No suitable precision timing functions appear to be available! [preprocessorErrorDirective] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:97:23: style: The member function 'BitField::_setall' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/bitfield.h:16:8: note: The member function 'BitField::_setall' can be static. ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:97:23: note: The member function 'BitField::_setall' can be static. ctorrent-1.3.4.dnh3.3.2/bitfield.h:37:10: style: The member function 'BitField::NBytes' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/bitfield.h:38:10: style: The member function 'BitField::NBits' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/bitfield.h:21:3: style: Class 'BitField' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] ctorrent-1.3.4.dnh3.3.2/connect_nonb.cpp:12:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:163:5: warning: Either the condition 'b' is redundant or there is possible null pointer dereference: b. [nullPointerRedundantCheck] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:165:22: note: Assuming that condition 'b' is not redundant ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:163:5: note: Null pointer dereference ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:295:10: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:304:13: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:306:16: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:116:15: style: The scope of the variable 'exp' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:214:10: style: The scope of the variable 'i' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:230:10: style: The scope of the variable 'i' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:251:10: style: The scope of the variable 'i' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:43:27: style:inconclusive: Function 'BitField' argument 1 names different: declaration 'n_bits' definition 'npcs'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/bitfield.h:21:19: note: Function 'BitField' argument 1 names different: declaration 'n_bits' definition 'npcs'. ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:43:27: note: Function 'BitField' argument 1 names different: declaration 'n_bits' definition 'npcs'. ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:287:37: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/connect_nonb.cpp:9:45: style: Parameter 'psa' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/bitfield.cpp:99:10: style: Unused variable: i [unusedVariable] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:67:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:89:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:93:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:108:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:176:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:255:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:287:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:369:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:411:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:454:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:610:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:59:16: style: The member function 'BufIo::_SEND' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/bufio.h:27:11: note: The member function 'BufIo::_SEND' can be static. ctorrent-1.3.4.dnh3.3.2/bufio.cpp:59:16: note: The member function 'BufIo::_SEND' can be static. ctorrent-1.3.4.dnh3.3.2/btcontent.h:90:12: style: The member function 'btContent::max_uint64_t' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btcontent.h:91:12: style: The member function 'btContent::min_uint64_t' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:22:3: warning: Class 'BufIo' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:22:3: warning: Class 'BufIo' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:86:9: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:61:11: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:83:11: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:106:11: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:59:29: style:inconclusive: Function '_SEND' argument 1 names different: declaration 'socket' definition 'sk'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/bufio.h:27:24: note: Function '_SEND' argument 1 names different: declaration 'socket' definition 'sk'. ctorrent-1.3.4.dnh3.3.2/bufio.cpp:59:29: note: Function '_SEND' argument 1 names different: declaration 'socket' definition 'sk'. ctorrent-1.3.4.dnh3.3.2/bufio.cpp:81:29: style:inconclusive: Function '_RECV' argument 1 names different: declaration 'socket' definition 'sk'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/bufio.h:28:24: note: Function '_RECV' argument 1 names different: declaration 'socket' definition 'sk'. ctorrent-1.3.4.dnh3.3.2/bufio.cpp:81:29: note: Function '_RECV' argument 1 names different: declaration 'socket' definition 'sk'. ctorrent-1.3.4.dnh3.3.2/bufio.cpp:104:37: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/bufio.cpp:140:42: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/peer.h:59:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctorrent.cpp:70:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_NAME [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctorrent.cpp:153:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctorrent.cpp:381:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:462:19: style: The member function 'RequestQueue::IsValidRequest' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btrequest.h:39:7: note: The member function 'RequestQueue::IsValidRequest' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:462:19: note: The member function 'RequestQueue::IsValidRequest' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:394:20: style: The member function 'RequestQueue::SetReqTime' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btrequest.h:59:8: note: The member function 'RequestQueue::SetReqTime' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:394:20: note: The member function 'RequestQueue::SetReqTime' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:454:22: style: The member function 'RequestQueue::NSlices' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btrequest.h:66:10: note: The member function 'RequestQueue::NSlices' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:454:22: note: The member function 'RequestQueue::NSlices' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:445:22: style: The member function 'RequestQueue::Slice_Length' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btrequest.h:67:10: note: The member function 'RequestQueue::Slice_Length' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:445:22: note: The member function 'RequestQueue::Slice_Length' can be static. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:509:19: style:inconclusive: Technically the member function 'PendingQueue::HasSlice' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btrequest.h:85:7: note: Technically the member function 'PendingQueue::HasSlice' can be const. ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:509:19: note: Technically the member function 'PendingQueue::HasSlice' can be const. ctorrent-1.3.4.dnh3.3.2/console.h:65:7: style:inconclusive: Technically the member function 'ConStream::IsSuspended' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:432:16: style: The scope of the variable 'len' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:33:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXHOSTNAMELEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:79:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:110:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:166:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:188:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:198:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:207:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:247:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:296:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:308:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:420:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:599:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:676:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:705:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:716:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXHOSTNAMELEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:750:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:811:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:587:60: style: Parameter 'bf' can be declared as reference to const [constParameterReference] ctorrent-1.3.4.dnh3.3.2/console.h:62:31: style: Parameter 'master' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:216:21: warning: Uninitialized variable: idx [uninitvar] ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:214:6: note: Assuming condition is false ctorrent-1.3.4.dnh3.3.2/btrequest.cpp:216:21: note: Uninitialized variable: idx ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:110:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:287:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1145:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1314:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:32:10: warning: Member variable 'btFiles::m_flag_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:49:18: style: The member function 'btFiles::_new_bfnode' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btfiles.h:45:11: note: The member function 'btFiles::_new_bfnode' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:49:18: note: The member function 'btFiles::_new_bfnode' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:251:14: style: The member function 'btFiles::_btf_ftruncate' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btfiles.h:49:7: note: The member function 'btFiles::_btf_ftruncate' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:251:14: note: The member function 'btFiles::_btf_ftruncate' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:788:14: style: The member function 'btFiles::ConvertFilename' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/btfiles.h:53:7: note: The member function 'btFiles::ConvertFilename' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:788:14: note: The member function 'btFiles::ConvertFilename' can be static. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:694:17: style:inconclusive: Technically the member function 'btFiles::FillMetaInfo' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btfiles.h:69:10: note: Technically the member function 'btFiles::FillMetaInfo' can be const. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:694:17: note: Technically the member function 'btFiles::FillMetaInfo' can be const. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:731:15: style:inconclusive: Technically the member function 'btFiles::SetFilter' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btfiles.h:71:8: note: Technically the member function 'btFiles::SetFilter' can be const. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:731:15: note: Technically the member function 'btFiles::SetFilter' can be const. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:667:15: style:inconclusive: Technically the member function 'btFiles::PrintOut' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btfiles.h:78:8: note: Technically the member function 'btFiles::PrintOut' can be const. ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:667:15: note: Technically the member function 'btFiles::PrintOut' can be const. ctorrent-1.3.4.dnh3.3.2/console.cpp:125:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:145:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:294:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:314:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_statusline [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:376:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:645:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_statusline [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:793:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:868:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable m_statusline [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:1186:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:1342:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCKS_PER_SEC [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:1372:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_DFL [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:1439:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peerlist.h:76:8: style: The member function 'PeerList::DontWaitBW' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/tracker.h:85:17: style:inconclusive: Technically the member function 'btTracker::GetStatus' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/tracker.h:88:10: style:inconclusive: Technically the member function 'btTracker::GetSocket' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/ctcs.h:88:10: style:inconclusive: Technically the member function 'Ctcs::GetSocket' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/ctcs.h:89:17: style:inconclusive: Technically the member function 'Ctcs::GetStatus' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:150:13: style: The scope of the variable 'nio' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:367:7: style: The scope of the variable 'fd' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:458:7: style: The scope of the variable 'f_warned' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:696:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/ctorrent.cpp:327:7: style:inconclusive: Statements following 'return' will never be executed. [unreachableCode] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:267:12: warning: Uninitialized variable: r [uninitvar] ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:259:23: note: Assuming condition is false ctorrent-1.3.4.dnh3.3.2/btfiles.cpp:267:12: note: Uninitialized variable: r ctorrent-1.3.4.dnh3.3.2/ctorrent.cpp:140:9: style: Unused variable: s [unusedVariable] ctorrent-1.3.4.dnh3.3.2/iplist.cpp:21:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/iplist.cpp:44:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/iplist.h:34:7: style:inconclusive: Technically the member function 'IpList::IsEmpty' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:114:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/iplist.cpp:8:16: style: Variable 'node' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/httpencode.cpp:46:7: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/httpencode.cpp:80:10: style: The scope of the variable 'addtion' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/httpencode.cpp:18:8: style: Variable 'HEX_TABLE' can be declared as const array [constVariable] ctorrent-1.3.4.dnh3.3.2/httpencode.cpp:77:25: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:28:17: style: The scope of the variable 'maxfd' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:32:20: style: The scope of the variable 'f_idleused' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:34:10: style: The scope of the variable 'maxsleep' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:35:10: style: The scope of the variable 'then' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:28:12: style: Variable 'nfds' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:32:31: style: Variable 'f_idleused' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/downloader.cpp:33:19: style: Unused variable: nowspec [unusedVariable] ctorrent-1.3.4.dnh3.3.2/rate.cpp:17:7: warning: Member variable 'Rate::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning:inconclusive: Member variable 'Rate::m_total_timeused' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_last_realtime' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_recent_realtime' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_prev_realtime' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_last_size' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_recent_size' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_prev_size' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_late' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_nominal' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning:inconclusive: Member variable 'Rate::m_nom_time' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_lastrate' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_ontime' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_update_nominal' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_reserved' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_history' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_history_last' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:223:12: warning: Member variable 'Rate::m_selfrate' is not assigned a value in 'Rate::operator='. [operatorEqVarError] ctorrent-1.3.4.dnh3.3.2/rate.cpp:19:41: performance: Variable 'm_nom_time' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ctorrent-1.3.4.dnh3.3.2/rate.cpp:229:14: style:inconclusive: Technically the member function 'Rate::CurrentRate' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/rate.h:58:10: note: Technically the member function 'Rate::CurrentRate' can be const. ctorrent-1.3.4.dnh3.3.2/rate.cpp:229:14: note: Technically the member function 'Rate::CurrentRate' can be const. ctorrent-1.3.4.dnh3.3.2/rate.cpp:322:38: style:inconclusive: Function 'RateMeasure' argument 1 names different: declaration 'ra' definition 'ra_to'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/rate.h:61:34: note: Function 'RateMeasure' argument 1 names different: declaration 'ra' definition 'ra_to'. ctorrent-1.3.4.dnh3.3.2/rate.cpp:322:38: note: Function 'RateMeasure' argument 1 names different: declaration 'ra' definition 'ra_to'. ctorrent-1.3.4.dnh3.3.2/rate.cpp:263:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/rate.cpp:260:20: style: Variable 'timestamp' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/setnonblock.cpp:19:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:56:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in_addr [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:61:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:69:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in_addr [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:600:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1000:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1193:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1212:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:144:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:857:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:881:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:83:26: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:445:18: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:31:7: warning: Member variable 'Ctcs::m_pass' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:77:12: style: The member function 'Ctcs::_s2sin' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/ctcs.h:60:7: note: The member function 'Ctcs::_s2sin' can be static. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:77:12: note: The member function 'Ctcs::_s2sin' can be static. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:414:13: style: The member function 'Ctcs::ConfigMsg' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/ctcs.h:62:9: note: The member function 'Ctcs::ConfigMsg' can be static. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:414:13: note: The member function 'Ctcs::ConfigMsg' can be static. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:275:5: portability: %d in format string (no. 4) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:606:3: warning: %lld in format string (no. 1) requires 'long long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:743:27: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:165:7: style: The scope of the variable 'len' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:166:8: style: The scope of the variable 'buf' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:600:12: style: The scope of the variable 'priority' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:163:35: style:inconclusive: Function 'SendMessage' argument 1 names different: declaration 'buf' definition 'message'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/ctcs.h:61:31: note: Function 'SendMessage' argument 1 names different: declaration 'buf' definition 'message'. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:163:35: note: Function 'SendMessage' argument 1 names different: declaration 'buf' definition 'message'. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:433:34: style:inconclusive: Function 'Set_Config' argument 1 names different: declaration 'msgbuf' definition 'origmsg'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/ctcs.h:80:30: note: Function 'Set_Config' argument 1 names different: declaration 'msgbuf' definition 'origmsg'. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:433:34: note: Function 'Set_Config' argument 1 names different: declaration 'msgbuf' definition 'origmsg'. ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:77:25: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:83:21: style: Variable 'ph' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:554:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:602:11: style: Variable 'file' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:796:31: style: Parameter 'rfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:796:45: style: Parameter 'wfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/ctcs.cpp:602:15: style: Variable 'file' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sigint.cpp:50:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] ctorrent-1.3.4.dnh3.3.2/console.cpp:704:9: style: Obsolescent function 'ctime_r' called. It is recommended to use 'strftime' instead. [prohibitedctime_rCalled] ctorrent-1.3.4.dnh3.3.2/console.cpp:51:12: warning: Member variable 'ConStream::m_filemode' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:51:12: warning: Member variable 'ConStream::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:306:10: warning: Member variable 'Console::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/console.cpp:1433:14: style: Unused private function: 'Console::OpenNull' [unusedPrivateFunction] ctorrent-1.3.4.dnh3.3.2/console.h:105:7: note: Unused private function: 'Console::OpenNull' ctorrent-1.3.4.dnh3.3.2/console.cpp:1433:14: note: Unused private function: 'Console::OpenNull' ctorrent-1.3.4.dnh3.3.2/console.cpp:285:17: style: The member function 'ConStream::Error' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/console.h:50:8: note: The member function 'ConStream::Error' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:285:17: note: The member function 'ConStream::Error' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:1433:14: style: The member function 'Console::OpenNull' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/console.h:105:7: note: The member function 'Console::OpenNull' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:1433:14: note: The member function 'Console::OpenNull' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:1381:15: style: The member function 'Console::Daemonize' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/console.h:138:8: note: The member function 'Console::Daemonize' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:1381:15: note: The member function 'Console::Daemonize' can be static. ctorrent-1.3.4.dnh3.3.2/console.cpp:66:25: warning: Class 'ConStream' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ctorrent-1.3.4.dnh3.3.2/console.cpp:66:25: warning: Class 'ConStream' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ctorrent-1.3.4.dnh3.3.2/console.cpp:890:20: style: Condition 'tmplen>80' is always false [knownConditionTrueFalse] ctorrent-1.3.4.dnh3.3.2/console.cpp:871:20: note: Assignment 'tmplen=0', assigned value is 0 ctorrent-1.3.4.dnh3.3.2/console.cpp:890:20: note: Condition 'tmplen>80' is always false ctorrent-1.3.4.dnh3.3.2/console.cpp:926:5: portability: %d in format string (no. 1) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:930:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:995:5: portability: %d in format string (no. 1) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:1003:5: portability: %d in format string (no. 1) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:1056:3: portability: %d in format string (no. 4) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:1056:3: portability: %d in format string (no. 5) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] ctorrent-1.3.4.dnh3.3.2/console.cpp:1212:14: warning: Either the condition 'format' is redundant or there is possible null pointer dereference: format. [nullPointerRedundantCheck] ctorrent-1.3.4.dnh3.3.2/console.cpp:1219:9: note: Assuming that condition 'format' is not redundant ctorrent-1.3.4.dnh3.3.2/console.cpp:1212:14: note: Null pointer dereference ctorrent-1.3.4.dnh3.3.2/console.cpp:1250:16: warning: Either the condition 'format' is redundant or there is possible null pointer dereference: format. [nullPointerRedundantCheck] ctorrent-1.3.4.dnh3.3.2/console.cpp:1256:11: note: Assuming that condition 'format' is not redundant ctorrent-1.3.4.dnh3.3.2/console.cpp:1250:16: note: Null pointer dereference ctorrent-1.3.4.dnh3.3.2/console.cpp:374:15: style: The scope of the variable 'pending' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:375:14: style: The scope of the variable 'inc' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:375:19: style: The scope of the variable 'count' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:376:8: style: The scope of the variable 'c' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:376:31: style: The scope of the variable 's' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:784:13: style: The scope of the variable 'stream' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:860:15: style: The scope of the variable 'buffer' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:969:10: style: The scope of the variable 'premain' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:1200:9: style: The scope of the variable 'format' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:1201:10: style: The scope of the variable 'buflen' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:1202:11: style: The scope of the variable 'ap' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:1230:14: style: The scope of the variable 'f_new_line' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:1233:11: style: The scope of the variable 'ap' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/console.cpp:91:35: style: Parameter 'master' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/console.cpp:371:28: style: Parameter 'rfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/console.cpp:841:11: style: Variable 'file' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/console.cpp:123:7: error: Uninitialized variable: r [uninitvar] ctorrent-1.3.4.dnh3.3.2/console.cpp:143:7: error: Uninitialized variable: r [uninitvar] ctorrent-1.3.4.dnh3.3.2/console.cpp:841:16: style: Variable 'file' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/console.cpp:969:18: style: Variable 'premain' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:30:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXHOSTNAMELEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:79:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:87:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:106:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXHOSTNAMELEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:249:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:334:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INADDR_NONE [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:381:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:435:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:467:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:575:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:758:39: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:242:5: style: Obsolescent function 'ctime_r' called. It is recommended to use 'strftime' instead. [prohibitedctime_rCalled] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1460:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1513:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_shake_buffer' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_hashtable_length' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_piece_length' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_npieces' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_left_bytes' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_cache' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_cache_hit' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_cache_miss' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_cache_pre' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_cache_eval_time' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_hash_failures' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_dup_blocks' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:78:12: warning: Member variable 'btContent::m_unwanted_blocks' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:522:17: style: Unused private function: 'btContent::_Set_InfoHash' [unusedPrivateFunction] ctorrent-1.3.4.dnh3.3.2/btcontent.h:77:8: note: Unused private function: 'btContent::_Set_InfoHash' ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:522:17: note: Unused private function: 'btContent::_Set_InfoHash' ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1052:19: style:inconclusive: Technically the member function 'btContent::GetPieceLength' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/btcontent.h:128:10: note: Technically the member function 'btContent::GetPieceLength' can be const. ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1052:19: note: Technically the member function 'btContent::GetPieceLength' can be const. ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:519:18: warning: Class 'btContent' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:519:18: warning: Class 'btContent' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:248:48: style: Condition 'm_private' is always true [knownConditionTrueFalse] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:248:7: note: Assuming that condition 'm_private' is not redundant ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:248:48: note: Condition 'm_private' is always true ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:109:5: error: Resource leak: fp [resourceLeak] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1151:5: error: Resource leak: fp [resourceLeak] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1156:5: error: Resource leak: fp [resourceLeak] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1161:12: error: Resource leak: fp [resourceLeak] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1167:7: error: Resource leak: fp [resourceLeak] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1476:12: warning: Either the condition '!node' is redundant or there is possible null pointer dereference: node. [nullPointerRedundantCheck] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1478:13: note: Assuming that condition '!node' is not redundant ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1476:12: note: Null pointer dereference ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1477:9: warning: Either the condition '!node' is redundant or there is possible null pointer dereference: node. [nullPointerRedundantCheck] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1478:13: note: Assuming that condition '!node' is not redundant ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1477:9: note: Null pointer dereference ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:72:24: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:157:21: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:496:22: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:295:18: style: The scope of the variable 'n' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:466:12: style: The scope of the variable 'idx' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1092:17: style: The scope of the variable 'md' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1237:12: style: The scope of the variable 'dl' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1447:32: style: The scope of the variable 'dash' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1448:10: style: The scope of the variable 'start' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1448:17: style: The scope of the variable 'end' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1449:24: style: The scope of the variable 'pfilter' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:495:15: style: Variable 'sptr' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:497:15: style: Variable 'eptr' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:522:45: style: Parameter 'buf' can be declared as const array [constParameter] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:554:15: style: Variable 'src' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:649:12: style: Variable 'p' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1399:11: style: Variable 'original' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1447:32: style: Variable 'dash' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:1544:46: style: Parameter 'pfilter' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:679:9: style: Variable 'upmax' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/btcontent.cpp:694:13: style: Variable 'upmax' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:92:28: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:336:11: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:353:15: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:28:12: warning: Member variable 'btTracker::m_key' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:28:12: warning: Member variable 'btTracker::m_f_boguspeercnt' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:28:12: warning: Member variable 'btTracker::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:28:12: warning: Member variable 'btTracker::m_default_interval' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:28:12: warning: Member variable 'btTracker::m_ok_click' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:77:17: style: The member function 'btTracker::_IPsin' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/tracker.h:66:7: note: The member function 'btTracker::_IPsin' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:77:17: note: The member function 'btTracker::_IPsin' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:85:17: style: The member function 'btTracker::_s2sin' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/tracker.h:67:7: note: The member function 'btTracker::_s2sin' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:85:17: note: The member function 'btTracker::_s2sin' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:371:16: style: The member function 'btTracker::IsPrivateAddress' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/tracker.h:69:7: note: The member function 'btTracker::IsPrivateAddress' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:371:16: note: The member function 'btTracker::IsPrivateAddress' can be static. ctorrent-1.3.4.dnh3.3.2/tracker.cpp:155:17: style: The statement 'if (m_interval!=(time_t)i) m_interval=(time_t)i' is logically equivalent to 'm_interval=(time_t)i'. [duplicateConditionalAssign] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:155:42: note: Assignment 'm_interval=(time_t)i' ctorrent-1.3.4.dnh3.3.2/tracker.cpp:155:17: note: Condition 'm_interval!=(time_t)i' is redundant ctorrent-1.3.4.dnh3.3.2/tracker.cpp:156:25: style: The statement 'if (m_default_interval!=(time_t)i) m_default_interval=(time_t)i' is logically equivalent to 'm_default_interval=(time_t)i'. [duplicateConditionalAssign] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:156:58: note: Assignment 'm_default_interval=(time_t)i' ctorrent-1.3.4.dnh3.3.2/tracker.cpp:156:25: note: Condition 'm_default_interval!=(time_t)i' is redundant ctorrent-1.3.4.dnh3.3.2/tracker.cpp:411:5: error: Memory leak: opt [memleak] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:414:3: error: Memory leak: opt [memleak] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:356:32: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:404:28: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:406:45: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:407:45: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:513:58: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:443:20: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:452:27: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:106:8: style: The scope of the variable 'tmphost' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:348:21: style: The scope of the variable 'h' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:77:30: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:85:30: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:92:23: style: Variable 'ph' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:326:8: style: Variable 'chars' can be declared as const array [constVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:335:23: style: Variable 'h' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:348:21: style: Variable 'h' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:466:9: style: Variable 'event' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:560:36: style: Parameter 'rfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:560:50: style: Parameter 'wfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:234:17: style: Unused variable: format [unusedVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:269:34: style: Unused variable: ih_buf [unusedVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:269:54: style: Unused variable: pi_buf [unusedVariable] ctorrent-1.3.4.dnh3.3.2/tracker.cpp:270:12: style: Unused variable: tmppath [unusedVariable] ctorrent-1.3.4.dnh3.3.2/peer.cpp:102:9: warning: Member variable 'btPeer::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:102:9: warning: Member variable 'btPeer::m_lastmsg' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:102:9: warning: Member variable 'btPeer::id' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peer.cpp:106:3: performance: Variable 'm_unchoke_timestamp' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ctorrent-1.3.4.dnh3.3.2/peer.cpp:107:3: performance: Variable 'm_last_timestamp' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ctorrent-1.3.4.dnh3.3.2/peer.cpp:107:22: performance: Variable 'm_next_send_time' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ctorrent-1.3.4.dnh3.3.2/peer.cpp:64:14: style:inconclusive: Technically the member function 'btBasic::IpEquiv' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peer.h:55:7: note: Technically the member function 'btBasic::IpEquiv' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:64:14: note: Technically the member function 'btBasic::IpEquiv' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1150:13: style:inconclusive: Technically the member function 'btPeer::CouldReponseSlice' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peer.h:151:7: note: Technically the member function 'btPeer::CouldReponseSlice' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1150:13: note: Technically the member function 'btPeer::CouldReponseSlice' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1242:13: style:inconclusive: Technically the member function 'btPeer::CheckSendStatus' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peer.h:169:7: note: Technically the member function 'btPeer::CheckSendStatus' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1242:13: note: Technically the member function 'btPeer::CheckSendStatus' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:748:16: style:inconclusive: Technically the member function 'btPeer::FindLastCommonRequest' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peer.h:188:10: note: Technically the member function 'btPeer::FindLastCommonRequest' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:748:16: note: Technically the member function 'btPeer::FindLastCommonRequest' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1398:14: style:inconclusive: Technically the member function 'btPeer::dump' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peer.h:217:8: note: Technically the member function 'btPeer::dump' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1398:14: note: Technically the member function 'btPeer::dump' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:484:30: style: Condition 'now<=m_unchoke_timestamp' is always false [knownConditionTrueFalse] ctorrent-1.3.4.dnh3.3.2/peer.cpp:483:19: note: Assuming that condition 'now>m_unchoke_timestamp' is not redundant ctorrent-1.3.4.dnh3.3.2/peer.cpp:484:30: note: Condition 'now<=m_unchoke_timestamp' is always false ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_last_progress_timestamp' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_listen' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_ul_limited' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_f_limitd' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_f_limitu' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:45:11: warning: Member variable 'PeerList::m_reserved' is not initialized in the constructor. [uninitMemberVar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:50:5: performance: Variable 'm_interval_timestamp' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1142:15: style:inconclusive: Technically the member function 'PeerList::UnChokeCheck' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:41:7: note: Technically the member function 'PeerList::UnChokeCheck' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1142:15: note: Technically the member function 'PeerList::UnChokeCheck' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1124:16: style:inconclusive: Technically the member function 'PeerList::CloseAllConnectionToSeed' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:60:8: note: Technically the member function 'PeerList::CloseAllConnectionToSeed' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1124:16: note: Technically the member function 'PeerList::CloseAllConnectionToSeed' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:826:16: style:inconclusive: Technically the member function 'PeerList::Tell_World_I_Have' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:78:8: note: Technically the member function 'PeerList::Tell_World_I_Have' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:826:16: note: Technically the member function 'PeerList::Tell_World_I_Have' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:686:16: style:inconclusive: Technically the member function 'PeerList::CompareRequest' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:85:8: note: Technically the member function 'PeerList::CompareRequest' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:686:16: note: Technically the member function 'PeerList::CompareRequest' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:714:15: style:inconclusive: Technically the member function 'PeerList::CancelSlice' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:86:7: note: Technically the member function 'PeerList::CancelSlice' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:714:15: note: Technically the member function 'PeerList::CancelSlice' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:734:15: style:inconclusive: Technically the member function 'PeerList::CancelPiece' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:87:7: note: Technically the member function 'PeerList::CancelPiece' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:734:15: note: Technically the member function 'PeerList::CancelPiece' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:986:16: style:inconclusive: Technically the member function 'PeerList::CheckBitField' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:90:8: note: Technically the member function 'PeerList::CheckBitField' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:986:16: note: Technically the member function 'PeerList::CheckBitField' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1280:16: style:inconclusive: Technically the member function 'PeerList::CheckInterest' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:94:8: note: Technically the member function 'PeerList::CheckInterest' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1280:16: note: Technically the member function 'PeerList::CheckInterest' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1347:16: style:inconclusive: Technically the member function 'PeerList::UnStandby' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:97:8: note: Technically the member function 'PeerList::UnStandby' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1347:16: note: Technically the member function 'PeerList::UnStandby' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1603:16: style: The member function 'PeerList::AdjustPeersCount' can be static. [functionStatic] ctorrent-1.3.4.dnh3.3.2/peerlist.h:105:8: note: The member function 'PeerList::AdjustPeersCount' can be static. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1603:16: note: The member function 'PeerList::AdjustPeersCount' can be static. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1373:16: style:inconclusive: Technically the member function 'PeerList::StopDownload' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:120:8: note: Technically the member function 'PeerList::StopDownload' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1373:16: note: Technically the member function 'PeerList::StopDownload' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1587:16: style:inconclusive: Technically the member function 'PeerList::UnchokeIfFree' can be const. [functionConst] ctorrent-1.3.4.dnh3.3.2/peerlist.h:122:8: note: Technically the member function 'PeerList::UnchokeIfFree' can be const. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1587:16: note: Technically the member function 'PeerList::UnchokeIfFree' can be const. ctorrent-1.3.4.dnh3.3.2/peer.cpp:1031:22: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1079:16: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1111:29: style: C-style pointer casting [cstyleCast] ctorrent-1.3.4.dnh3.3.2/peer.cpp:357:12: style: The scope of the variable 'idx' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:357:16: style: The scope of the variable 'off' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:357:20: style: The scope of the variable 'len' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:607:7: style: The scope of the variable 'first' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1322:14: style: The scope of the variable 'ru' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1324:10: style: The scope of the variable 'predict' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:1324:19: style: The scope of the variable 'next_chance' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1509:13: style: Condition 'slow=0' is always false [knownConditionTrueFalse] ctorrent-1.3.4.dnh3.3.2/peer.cpp:304:9: style: Local variable 'endgame' shadows outer variable [shadowVariable] ctorrent-1.3.4.dnh3.3.2/peer.cpp:196:7: note: Shadowed declaration ctorrent-1.3.4.dnh3.3.2/peer.cpp:304:9: note: Shadow variable ctorrent-1.3.4.dnh3.3.2/peer.cpp:480:42: style: Clarify calculation precedence for '+' and '?'. [clarifyCalculation] ctorrent-1.3.4.dnh3.3.2/peer.cpp:748:48: style: Parameter 'proposerbf' can be declared as reference to const [constParameterReference] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:554:10: error: Memory leak: data [memleak] ctorrent-1.3.4.dnh3.3.2/peer.cpp:131:32: style: Parameter 'peer' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:142:36: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:858:32: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:897:29: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:919:31: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] ctorrent-1.3.4.dnh3.3.2/peer.cpp:196:15: style: Variable 'endgame' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1149:17: style: The scope of the variable 'rndbits' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1150:7: style: The scope of the variable 'r' can be reduced. [variableScope] ctorrent-1.3.4.dnh3.3.2/peer.cpp:681:7: style: Unused variable: retval [unusedVariable] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:206:37: style:inconclusive: Function 'IntervalCheck' argument 1 names different: declaration 'rfd' definition 'rfdp'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/peerlist.h:63:29: note: Function 'IntervalCheck' argument 1 names different: declaration 'rfd' definition 'rfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:206:37: note: Function 'IntervalCheck' argument 1 names different: declaration 'rfd' definition 'rfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:206:51: style:inconclusive: Function 'IntervalCheck' argument 2 names different: declaration 'wfd' definition 'wfdp'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/peerlist.h:63:42: note: Function 'IntervalCheck' argument 2 names different: declaration 'wfd' definition 'wfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:206:51: note: Function 'IntervalCheck' argument 2 names different: declaration 'wfd' definition 'wfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:307:33: style:inconclusive: Function 'FillFDSet' argument 1 names different: declaration 'rfd' definition 'rfdp'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/peerlist.h:42:25: note: Function 'FillFDSet' argument 1 names different: declaration 'rfd' definition 'rfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:307:33: note: Function 'FillFDSet' argument 1 names different: declaration 'rfd' definition 'rfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:307:47: style:inconclusive: Function 'FillFDSet' argument 2 names different: declaration 'wfd' definition 'wfdp'. [funcArgNamesDifferent] ctorrent-1.3.4.dnh3.3.2/peerlist.h:42:38: note: Function 'FillFDSet' argument 2 names different: declaration 'wfd' definition 'wfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:307:47: note: Function 'FillFDSet' argument 2 names different: declaration 'wfd' definition 'wfdp'. ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:624:43: style: Variable 'pbf_prefer' can be declared as pointer to const [constVariablePointer] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1015:37: style: Parameter 'rfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1015:51: style: Parameter 'wfdp' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1296:39: style: Parameter 'peer' can be declared as pointer to const [constParameterPointer] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:304:68: warning: Uninitialized variable: UNCHOKER [uninitvar] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:234:71: note: Assuming condition is false ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:304:68: note: Uninitialized variable: UNCHOKER ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:210:9: style: Variable 'i' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1233:13: style: Variable 'r' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/peerlist.cpp:1235:11: style: Variable 'r' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:125:53: style: Parameter 'buffer' can be declared as const array [constParameter] ctorrent-1.3.4.dnh3.3.2/sha1.c:129:19: style: union member 'CHAR64LONG16::c' is never used. [unusedStructMember] ctorrent-1.3.4.dnh3.3.2/sha1.c:174:7: style: Variable 'a' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:174:11: style: Variable 'b' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:174:15: style: Variable 'c' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:174:19: style: Variable 'd' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:174:23: style: Variable 'e' is assigned a value that is never used. [unreadVariable] ctorrent-1.3.4.dnh3.3.2/sha1.c:242:7: style: Variable 'i' is assigned a value that is never used. [unreadVariable] diff: head ctorrent-1.3.4.dnh3.3.2/console.cpp:371:28: style: Parameter 'rfdp' can be declared as pointer to const [constParameterPointer] head ctorrent-1.3.4.dnh3.3.2/console.cpp:841:11: style: Variable 'file' can be declared as pointer to const [constVariablePointer] head ctorrent-1.3.4.dnh3.3.2/tracker.cpp:466:9: style: Variable 'event' can be declared as pointer to const [constVariablePointer] DONE