2026-05-01 05:09 ftp://ftp.de.debian.org/debian/pool/main/b/berkeley-express/berkeley-express_1.5.3+dfsg.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=boost --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 -j8 platform: Linux-6.18.15+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: 0fda84ef (2026-05-01 02:32:52 +0200) count: 200 195 elapsed-time: 0.8 0.6 head-timing-info: old-timing-info: head results: eXpress-1.5.3/src/logger.h:58:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/logger.h:68:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/logger.h:78:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/lengthdistribution.cpp:192:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/lengthdistribution.cpp:84:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/lengthdistribution.cpp:95:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/lengthdistribution.cpp:49:32: warning: Invalid std::log() argument nr 1. The value is 0 but the valid values are '4.94066e-324:'. [invalidFunctionArg] eXpress-1.5.3/src/lengthdistribution.cpp:41:21: note: Assignment 'i=0', assigned value is 0 eXpress-1.5.3/src/lengthdistribution.cpp:49:32: note: Invalid argument eXpress-1.5.3/src/main.h:128:18: style: Expression 'log(1 + x)' can be replaced by 'log1p(x)' to avoid loss of precision. [unpreciseMathCall] eXpress-1.5.3/src/logger.h:28:15: style: The member function 'Logger::get_time' can be static. [functionStatic] eXpress-1.5.3/src/lengthdistribution.cpp:67:47: performance: Function parameter 'param_file_name' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/lengthdistribution.cpp:68:47: performance: Function parameter 'length_type' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/lengthdistribution.cpp:190:47: performance: Function parameter 'length_type' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/lengthdistribution.cpp:84:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/logger.h:37:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/logger.h:42:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/logger.h:47:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/logger.h:52:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/logger.h:62:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/logger.h:72:12: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/lengthdistribution.cpp:152:9: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] eXpress-1.5.3/src/lengthdistribution.cpp:150:21: style: Variable 'cdf' is assigned a value that is never used. [unreadVariable] eXpress-1.5.3/src/fragments.cpp:82:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < float >::_M' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < float >::_N' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < float >::_logged' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < float >::_fixed' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < double >::_M' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < double >::_N' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < double >::_logged' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/frequencymatrix.h:60:3: warning:inconclusive: Member variable 'FrequencyMatrix < double >::_fixed' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/bundles.cpp:97:22: style: The member function 'BundleTable::get_rep' can be static. [functionStatic] eXpress-1.5.3/src/bundles.h:187:11: note: The member function 'BundleTable::get_rep' can be static. eXpress-1.5.3/src/bundles.cpp:97:22: note: The member function 'BundleTable::get_rep' can be static. eXpress-1.5.3/src/bundles.h:108:3: style: Class 'Bundle' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/sequence.h:267:3: style: Class 'SequenceRev' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/sequence.h:232:8: style: The function 'set' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:75:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:232:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:233:10: style: The function 'operator[]' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:83:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:233:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:234:10: style: The function 'get_ref' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:91:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:234:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:235:9: style: The function 'get_exp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:139:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:235:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:236:9: style: The function 'get_obs' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:131:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:236:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:237:8: style: The function 'update_est' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:99:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:237:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:238:8: style: The function 'update_obs' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:107:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:238:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:239:8: style: The function 'update_exp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:115:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:239:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:240:9: style: The function 'get_prob' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:123:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:240:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:241:8: style: The function 'prob' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:144:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:241:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:242:8: style: The function 'empty' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:154:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:242:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:243:10: style: The function 'length' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:149:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:243:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:244:8: style: The function 'calc_p_vals' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:161:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:244:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:268:10: style: The function 'length' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:149:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:268:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:274:8: style: The function 'empty' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:154:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:274:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:281:8: style: The function 'set' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:75:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:281:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:282:10: style: The function 'operator[]' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:83:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:282:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:284:10: style: The function 'get_ref' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:91:18: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:284:10: note: Function in derived class eXpress-1.5.3/src/sequence.h:286:9: style: The function 'get_obs' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:131:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:286:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:288:9: style: The function 'get_exp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:139:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:288:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:290:8: style: The function 'update_est' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:99:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:290:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:292:8: style: The function 'update_obs' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:107:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:292:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:294:8: style: The function 'update_exp' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:115:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:294:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:296:9: style: The function 'get_prob' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:123:17: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:296:9: note: Function in derived class eXpress-1.5.3/src/sequence.h:298:8: style: The function 'prob' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:144:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:298:8: note: Function in derived class eXpress-1.5.3/src/sequence.h:299:8: style: The function 'calc_p_vals' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/sequence.h:161:16: note: Virtual function in base class eXpress-1.5.3/src/sequence.h:299:8: note: Function in derived class eXpress-1.5.3/src/fragments.h:168:3: warning: Member variable 'FragHit::_params' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/fragments.h:180:3: warning: Member variable 'FragHit::_params' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/directiondetector.cpp:44:25: style:inconclusive: Technically the member function 'DirectionDetector::report_if_improper_direction' can be const. [functionConst] eXpress-1.5.3/src/directiondetector.h:67:8: note: Technically the member function 'DirectionDetector::report_if_improper_direction' can be const. eXpress-1.5.3/src/directiondetector.cpp:44:25: note: Technically the member function 'DirectionDetector::report_if_improper_direction' can be const. eXpress-1.5.3/src/fragments.h:432:18: style:inconclusive: Technically the member function 'Fragment::lib' can be const. [functionConst] eXpress-1.5.3/src/fragments.h:168:3: style: Class 'FragHit' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/fragments.h:422:3: style: Class 'Fragment' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/biascorrection.cpp:133:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable scientific [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/bundles.cpp:16:63: style:inconclusive: Function 'increment' argument 3 names different: declaration 'covar' definition 'incr_amt'. [funcArgNamesDifferent] eXpress-1.5.3/src/bundles.h:50:53: note: Function 'increment' argument 3 names different: declaration 'covar' definition 'incr_amt'. eXpress-1.5.3/src/bundles.cpp:16:63: note: Function 'increment' argument 3 names different: declaration 'covar' definition 'incr_amt'. eXpress-1.5.3/src/bundles.cpp:42:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:50:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:59:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:68:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:73:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:81:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:112:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/bundles.cpp:150:10: style: Instance of 'boost::unique_lock' object is destroyed immediately. [unusedScopedObject] eXpress-1.5.3/src/directiondetector.cpp:20:48: style: Parameter 'f' can be declared as pointer to const [constParameterPointer] eXpress-1.5.3/src/robertsfilter.cpp:29:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/robertsfilter.h:68:3: style: Class 'RobertsFilter' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/fragments.cpp:16:11: warning: Member variable 'Fragment::_mass' is not initialized in the constructor. [uninitMemberVar] eXpress-1.5.3/src/fragments.cpp:45:39: style:inconclusive: Function 'add_open_mate' argument 1 names different: declaration 'om' definition 'nm'. [funcArgNamesDifferent] eXpress-1.5.3/src/fragments.h:416:31: note: Function 'add_open_mate' argument 1 names different: declaration 'om' definition 'nm'. eXpress-1.5.3/src/fragments.cpp:45:39: note: Function 'add_open_mate' argument 1 names different: declaration 'om' definition 'nm'. eXpress-1.5.3/src/fragments.cpp:87:31: style: Parameter 'h1' can be declared as pointer to const. However it seems that 'fraghit_compare' is a callback function, if 'h1' is declared with const you might also need to cast function pointer(s). [constParameterCallback] eXpress-1.5.3/src/fragments.cpp:92:46: note: You might need to cast the function pointer here eXpress-1.5.3/src/fragments.cpp:87:31: note: Parameter 'h1' can be declared as pointer to const eXpress-1.5.3/src/fragments.cpp:87:44: style: Parameter 'h2' can be declared as pointer to const. However it seems that 'fraghit_compare' is a callback function, if 'h2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] eXpress-1.5.3/src/fragments.cpp:92:46: note: You might need to cast the function pointer here eXpress-1.5.3/src/fragments.cpp:87:44: note: Parameter 'h2' can be declared as pointer to const eXpress-1.5.3/src/mapparser.cpp:74:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Type [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/mapparser.cpp:105:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cin [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/mapparser.cpp:374:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/mapparser.cpp:531:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable beg [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/mapparser.cpp:601:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable endl [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/targets.cpp:419:32: error: There is an unknown macro here somewhere. Configuration is required. If SIZE_T_FMT is a macro then please configure it. [unknownMacro] eXpress-1.5.3/src/sequence.cpp:16:18: style:inconclusive: Technically the member function 'Sequence::serialize' can be const. [functionConst] eXpress-1.5.3/src/sequence.h:166:15: note: Technically the member function 'Sequence::serialize' can be const. eXpress-1.5.3/src/sequence.cpp:16:18: note: Technically the member function 'Sequence::serialize' can be const. eXpress-1.5.3/src/biascorrection.cpp:66:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/biascorrection.cpp:69:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/biascorrection.cpp:80:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/biascorrection.cpp:83:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/update_check.h:61:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/update_check.h:113:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/main.cpp:137:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/main.cpp:272:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/main.cpp:409:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fld [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/main.cpp:534:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/main.cpp:807:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in_file_name [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/biascorrection.cpp:228:59: style:inconclusive: Function 'update_observed' argument 2 names different: declaration 'mass' definition 'normalized_mass'. [funcArgNamesDifferent] eXpress-1.5.3/src/biascorrection.h:210:51: note: Function 'update_observed' argument 2 names different: declaration 'mass' definition 'normalized_mass'. eXpress-1.5.3/src/biascorrection.cpp:228:59: note: Function 'update_observed' argument 2 names different: declaration 'mass' definition 'normalized_mass'. eXpress-1.5.3/src/biascorrection.cpp:38:39: performance: Function parameter 'param_file_name' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/biascorrection.cpp:38:63: performance: Function parameter 'identifier' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/biascorrection.cpp:66:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/biascorrection.cpp:80:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/threadsafety.h:51:3: style: Class 'ThreadSafeFragQueue' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/threadsafety.h:105:3: style: Struct 'ParseThreadSafety' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/biascorrection.cpp:66:13: style: Variable 'p' is assigned a value that is never used. [unreadVariable] eXpress-1.5.3/src/biascorrection.cpp:80:13: style: Variable 'p' is assigned a value that is never used. [unreadVariable] eXpress-1.5.3/src/mapparser.cpp:423:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mapparser.cpp:522:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mapparser.cpp:279:17: style:inconclusive: Technically the member function 'BAMParser::map_end_from_alignment' can be const. [functionConst] eXpress-1.5.3/src/mapparser.h:139:8: note: Technically the member function 'BAMParser::map_end_from_alignment' can be const. eXpress-1.5.3/src/mapparser.cpp:279:17: note: Technically the member function 'BAMParser::map_end_from_alignment' can be const. eXpress-1.5.3/src/mapparser.h:359:21: style:inconclusive: Technically the member function 'MapParser::targ_index' can be const. [functionConst] eXpress-1.5.3/src/mapparser.h:365:21: style:inconclusive: Technically the member function 'MapParser::targ_lengths' can be const. [functionConst] eXpress-1.5.3/src/mapparser.h:147:3: style: Class 'BAMParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/mapparser.h:198:3: style: Class 'SAMParser' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/library.h:92:3: style: Class 'Librarian' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/mapparser.h:152:21: style: The function 'header' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:63:29: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:152:21: note: Function in derived class eXpress-1.5.3/src/mapparser.h:159:8: style: The function 'next_fragment' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:82:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:159:8: note: Function in derived class eXpress-1.5.3/src/mapparser.h:164:8: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:87:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:164:8: note: Function in derived class eXpress-1.5.3/src/mapparser.h:203:21: style: The function 'header' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:63:29: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:203:21: note: Function in derived class eXpress-1.5.3/src/mapparser.h:210:8: style: The function 'next_fragment' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:82:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:210:8: note: Function in derived class eXpress-1.5.3/src/mapparser.h:215:8: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:87:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:215:8: note: Function in derived class eXpress-1.5.3/src/mapparser.h:248:4: style: The destructor '~BAMWriter' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:111:12: note: Virtual destructor in base class eXpress-1.5.3/src/mapparser.h:248:4: note: Destructor in derived class eXpress-1.5.3/src/mapparser.h:255:8: style: The function 'write_fragment' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:117:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:255:8: note: Function in derived class eXpress-1.5.3/src/mapparser.h:286:4: style: The destructor '~SAMWriter' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:111:12: note: Virtual destructor in base class eXpress-1.5.3/src/mapparser.h:286:4: note: Destructor in derived class eXpress-1.5.3/src/mapparser.h:293:8: style: The function 'write_fragment' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] eXpress-1.5.3/src/mapparser.h:117:16: note: Virtual function in base class eXpress-1.5.3/src/mapparser.h:293:8: note: Function in derived class eXpress-1.5.3/src/mismatchmodel.cpp:593:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable scientific [valueFlowBailoutIncompleteVar] eXpress-1.5.3/src/mapparser.cpp:149:51: style:inconclusive: Function 'threaded_parse' argument 1 names different: declaration 'thread_safety' definition 'thread_safety_p'. [funcArgNamesDifferent] eXpress-1.5.3/src/mapparser.h:352:42: note: Function 'threaded_parse' argument 1 names different: declaration 'thread_safety' definition 'thread_safety_p'. eXpress-1.5.3/src/mapparser.cpp:149:51: note: Function 'threaded_parse' argument 1 names different: declaration 'thread_safety' definition 'thread_safety_p'. eXpress-1.5.3/src/mapparser.cpp:261:41: style:inconclusive: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. [funcArgNamesDifferent] eXpress-1.5.3/src/mapparser.h:159:32: note: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. eXpress-1.5.3/src/mapparser.cpp:261:41: note: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. eXpress-1.5.3/src/mapparser.cpp:279:64: style:inconclusive: Function 'map_end_from_alignment' argument 1 names different: declaration 'alignment' definition 'a'. [funcArgNamesDifferent] eXpress-1.5.3/src/mapparser.h:139:55: note: Function 'map_end_from_alignment' argument 1 names different: declaration 'alignment' definition 'a'. eXpress-1.5.3/src/mapparser.cpp:279:64: note: Function 'map_end_from_alignment' argument 1 names different: declaration 'alignment' definition 'a'. eXpress-1.5.3/src/mapparser.cpp:400:41: style:inconclusive: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. [funcArgNamesDifferent] eXpress-1.5.3/src/mapparser.h:210:32: note: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. eXpress-1.5.3/src/mapparser.cpp:400:41: note: Function 'next_fragment' argument 1 names different: declaration 'f' definition 'nf'. eXpress-1.5.3/src/mapparser.cpp:67:48: style: Parameter 'cigar_vec' can be declared as reference to const [constParameterReference] eXpress-1.5.3/src/mapparser.cpp:329:11: style: Variable 'indel' can be declared as reference to const [constVariableReference] eXpress-1.5.3/src/mapparser.cpp:334:11: style: Variable 'indel' can be declared as reference to const [constVariableReference] eXpress-1.5.3/src/mapparser.cpp:486:17: style: Variable 'indel' can be declared as reference to const [constVariableReference] eXpress-1.5.3/src/mapparser.cpp:491:17: style: Variable 'indel' can be declared as reference to const [constVariableReference] eXpress-1.5.3/src/mapparser.cpp:376:14: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] eXpress-1.5.3/src/mapparser.cpp:385:15: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] eXpress-1.5.3/src/mapparser.cpp:329:11: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] eXpress-1.5.3/src/mapparser.cpp:334:11: style: Consider using std::all_of or std::none_of algorithm instead of a raw loop. [useStlAlgorithm] eXpress-1.5.3/src/main.cpp:399:65: style:inconclusive: Boolean expression 'last_round' is used in bitwise operation. Did you mean '&&'? [bitwiseOnBoolean] eXpress-1.5.3/src/main.cpp:400:48: style:inconclusive: Boolean expression 'last_round' is used in bitwise operation. Did you mean '&&'? [bitwiseOnBoolean] eXpress-1.5.3/src/update_check.h:35:16: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/update_check.h:55:14: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] eXpress-1.5.3/src/update_check.h:60:5: style: Obsolescent function 'bzero' called. It is recommended to use 'memset' instead. [prohibitedbzeroCalled] eXpress-1.5.3/src/update_check.h:62:5: style: Obsolescent function 'bcopy' called. It is recommended to use 'memcpy' or 'memmove' instead. [prohibitedbcopyCalled] eXpress-1.5.3/src/update_check.h:89:2: style: Obsolescent function 'bzero' called. It is recommended to use 'memset' instead. [prohibitedbzeroCalled] eXpress-1.5.3/src/update_check.h:96:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/update_check.h:97:10: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/main.cpp:787:16: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/main.cpp:790:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.h:66:3: style: Class 'MismatchTable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/mismatchmodel.h:72:3: style: Class 'MismatchTable' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] eXpress-1.5.3/src/update_check.h:77:17: style: Condition 'sTimeout' is always false [knownConditionTrueFalse] eXpress-1.5.3/src/update_check.h:70:13: note: Assignment 'sTimeout=0', assigned value is 0 eXpress-1.5.3/src/update_check.h:77:17: note: Condition 'sTimeout' is always false eXpress-1.5.3/src/update_check.h:58:9: error: Resource leak: sockfd [resourceLeak] eXpress-1.5.3/src/update_check.h:62:11: style: C-style pointer casting [cstyleCast] eXpress-1.5.3/src/update_check.h:64:5: style: C-style pointer casting [cstyleCast] eXpress-1.5.3/src/update_check.h:60:11: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] eXpress-1.5.3/src/update_check.h:76:24: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] eXpress-1.5.3/src/update_check.h:97:8: style: Variable 'token' is reassigned a value before the old one has been used. [redundantAssignment] eXpress-1.5.3/src/update_check.h:96:8: note: token is assigned eXpress-1.5.3/src/update_check.h:97:8: note: token is overwritten eXpress-1.5.3/src/main.cpp:616:13: style: The scope of the variable 'frag' can be reduced. [variableScope] eXpress-1.5.3/src/main.cpp:248:8: style: Local variable 'error' shadows outer function [shadowFunction] eXpress-1.5.3/src/update_check.h:27:6: note: Shadowed declaration eXpress-1.5.3/src/main.cpp:248:8: note: Shadow variable eXpress-1.5.3/src/main.cpp:124:31: performance: Function parameter 'in_file' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/update_check.h:35:8: style: Variable 'token' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/update_check.h:47:21: style: Variable 'server' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/update_check.h:95:8: style: Variable 'token' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/mismatchmodel.cpp:76:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:79:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:108:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:111:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:125:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:135:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:142:7: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:152:9: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] eXpress-1.5.3/src/mismatchmodel.cpp:393:43: style:inconclusive: Function 'update' argument 1 names different: declaration '' definition 'f'. [funcArgNamesDifferentUnnamed] eXpress-1.5.3/src/mismatchmodel.cpp:38:37: performance: Function parameter 'param_file_name' should be passed by const reference. [passedByValue] eXpress-1.5.3/src/mismatchmodel.cpp:76:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/mismatchmodel.cpp:108:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/mismatchmodel.cpp:125:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] eXpress-1.5.3/src/mismatchmodel.cpp:235:41: error: Dereference of an invalid iterator: read_r.deletes.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:238:48: error: Dereference of an invalid iterator: read_r.inserts.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:350:41: error: Dereference of an invalid iterator: read_r.deletes.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:355:48: error: Dereference of an invalid iterator: read_r.inserts.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:503:40: error: Dereference of an invalid iterator: read_r.deletes.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:508:48: error: Dereference of an invalid iterator: read_r.inserts.begin()-1 [derefInvalidIterator] eXpress-1.5.3/src/mismatchmodel.cpp:76:13: style: Variable 'p' is assigned a value that is never used. [unreadVariable] eXpress-1.5.3/src/mismatchmodel.cpp:108:13: style: Variable 'p' is assigned a value that is never used. [unreadVariable] eXpress-1.5.3/src/mismatchmodel.cpp:192:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:195:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:237:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:241:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:295:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:301:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:353:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:359:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:423:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:428:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:506:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] eXpress-1.5.3/src/mismatchmodel.cpp:512:9: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] diff: head eXpress-1.5.3/src/mapparser.cpp:329:11: style: Variable 'indel' can be declared as reference to const [constVariableReference] head eXpress-1.5.3/src/mapparser.cpp:334:11: style: Variable 'indel' can be declared as reference to const [constVariableReference] head eXpress-1.5.3/src/mapparser.cpp:486:17: style: Variable 'indel' can be declared as reference to const [constVariableReference] head eXpress-1.5.3/src/mapparser.cpp:491:17: style: Variable 'indel' can be declared as reference to const [constVariableReference] head eXpress-1.5.3/src/mismatchmodel.cpp:393:43: style:inconclusive: Function 'update' argument 1 names different: declaration '' definition 'f'. [funcArgNamesDifferentUnnamed] DONE