2025-05-05 10:26 ftp://ftp.de.debian.org/debian/pool/main/l/langford/langford_0.0.20130228.orig.tar.bz2 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 -j1 platform: Linux-6.8.0-59-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: c79862b (2025-05-05 10:59:17 +0200) count: 93 93 elapsed-time: 1.2 1.3 head-timing-info: old-timing-info: head results: langford_driver/langford.c:92:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_DEBUG [valueFlowBailoutIncompleteVar] langford_driver/langford.c:233:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_DEBUG [valueFlowBailoutIncompleteVar] langford_driver/langford.c:370:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_ERR [valueFlowBailoutIncompleteVar] langford_driver/langford.c:415:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_ERR [valueFlowBailoutIncompleteVar] langford_driver/langford.c:512:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_ERR [valueFlowBailoutIncompleteVar] langford_driver/langford.c:601:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_DEBUG [valueFlowBailoutIncompleteVar] langford_driver/langford.c:633:70: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFP_KERNEL [valueFlowBailoutIncompleteVar] langford_driver/langford.c:704:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_DEBUG [valueFlowBailoutIncompleteVar] langford_driver/langford.c:742:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cdev_open_close_mutex [valueFlowBailoutIncompleteVar] langford_driver/langford.c:849:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cdev_open_close_mutex [valueFlowBailoutIncompleteVar] langford_driver/langford.c:909:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_DEBUG [valueFlowBailoutIncompleteVar] langford_driver/langford.c:933:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_INFO [valueFlowBailoutIncompleteVar] langford_driver/langford.c:1059:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_INFO [valueFlowBailoutIncompleteVar] langford_driver/langford.c:1092:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_INFO [valueFlowBailoutIncompleteVar] langford_driver/langford.c:1136:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KERN_INFO [valueFlowBailoutIncompleteVar] langford_driver/langford.c:131:11: error: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned] langford_driver/langford.c:323:11: error: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned] langford_driver/langford.c:236:13: style: Variable 'DescActive' is assigned a value that is never used. [unreadVariable] langford_driver/langford.c:236:24: style: Variable 'DescComp' is assigned a value that is never used. [unreadVariable] langford_driver/langford.c:610:5: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] langford_driver/langford.c:631:10: style: Variable 'rc' is assigned a value that is never used. [unreadVariable] langford_driver/langford_adc_util.cpp:36:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/langford_adc_util.cpp:65:3: error: Resource leak: DevFD [resourceLeak] langford_driver/langford_adc_util.cpp:84:4: error: Resource leak: DevFD [resourceLeak] langford_driver/langford_adc_util.cpp:91:4: error: Resource leak: DevFD [resourceLeak] langford_driver/langford_adc_util.cpp:95:3: error: Resource leak: DevFD [resourceLeak] langford_driver/langford_util.cpp:36:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/langford_util.cpp:130:4: error: Resource leak: DevFD [resourceLeak] langford_driver/langford_util.cpp:188:4: error: Resource leak: DevFD [resourceLeak] langford_driver/libs/dev/adf4351_regs.hpp:243:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/adf4351_regs.hpp:366:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthADF4351.hpp:21:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRESCALER_4_5 [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthADF4351.cpp:27:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthADF4351.cpp:100:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthADF4351.cpp:138:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/adf4351_regs.hpp:298:14: style:inconclusive: Technically the member function 'adf4351_regs_t::get_reg' can be const. [functionConst] langford_driver/libs/dev/adf4351_regs.hpp:343:26: style: Same expression on both sides of '&'. [duplicateExpression] langford_driver/libs/dev/adf4351_regs.hpp:449:17: style: Redundant assignment of 'prescaler' to itself. [selfAssignment] langford_driver/libs/dev/fsynthADF4351.cpp:40:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthADF4351.cpp:18:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthADF4351.cpp:40:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthADF4351.cpp:51:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthADF4351.cpp:18:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthADF4351.cpp:51:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthADF4351.cpp:64:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthADF4351.cpp:18:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthADF4351.cpp:64:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthADF4351.cpp:77:13: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthADF4351.cpp:18:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthADF4351.cpp:77:13: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/adf4351_regs.hpp:386:35: style: Local variable 'prescaler' shadows outer variable [shadowVariable] langford_driver/libs/dev/adf4351_regs.hpp:47:17: note: Shadowed declaration langford_driver/libs/dev/adf4351_regs.hpp:386:35: note: Shadow variable langford_driver/libs/dev/fsynthADF4351.cpp:85:28: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/dev/fsynthADF4351.cpp:119:26: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/dev/adf4351_regs.hpp:449:17: style: Variable 'prescaler' is assigned a value that is never used. [unreadVariable] langford_driver/libs/dev/fsynthTP3_HP.hpp:21:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRESCALER_4_5 [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthTP3_HP.cpp:28:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthTP3_HP.cpp:102:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthTP3_HP.cpp:140:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/fsynthTP3_HP.cpp:41:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthTP3_HP.cpp:19:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthTP3_HP.cpp:41:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthTP3_HP.cpp:52:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthTP3_HP.cpp:19:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthTP3_HP.cpp:52:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthTP3_HP.cpp:65:14: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthTP3_HP.cpp:19:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthTP3_HP.cpp:65:14: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthTP3_HP.cpp:78:13: style: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. [knownConditionTrueFalse] langford_driver/libs/dev/fsynthTP3_HP.cpp:19:16: note: 'debug' is assigned value 'true' here. langford_driver/libs/dev/fsynthTP3_HP.cpp:78:13: note: The comparison 'debug == true' is always true because 'debug' and 'true' represent the same value. langford_driver/libs/dev/fsynthTP3_HP.cpp:87:28: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/dev/fsynthTP3_HP.cpp:121:26: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/dev/testbench.cpp:17:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] langford_driver/libs/dev/testbench.cpp:37:15: style: Variable 'adf4351_saferegs' can be declared as const array [constVariable] langford_driver/libs/adf4351_regs.hpp:243:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] langford_driver/libs/adf4351_regs.hpp:366:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/fsynth.hpp:21:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRESCALER_4_5 [valueFlowBailoutIncompleteVar] langford_driver/libs/fsynth.cpp:42:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/fsynth.cpp:164:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/fsynth.cpp:203:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/adf4351_regs.hpp:298:14: style:inconclusive: Technically the member function 'adf4351_regs_t::get_reg' can be const. [functionConst] langford_driver/libs/adf4351_regs.hpp:343:26: style: Same expression on both sides of '&'. [duplicateExpression] langford_driver/libs/adf4351_regs.hpp:449:17: style: Redundant assignment of 'prescaler' to itself. [selfAssignment] langford_driver/libs/fsynth.cpp:149:93: style:inconclusive: Function 'SetDDCFreq' argument 5 names different: declaration 'verbosity' definition 'verbose'. [funcArgNamesDifferent] langford_driver/libs/fsynth.cpp:22:93: note: Function 'SetDDCFreq' argument 5 names different: declaration 'verbosity' definition 'verbose'. langford_driver/libs/fsynth.cpp:149:93: note: Function 'SetDDCFreq' argument 5 names different: declaration 'verbosity' definition 'verbose'. langford_driver/libs/adf4351_regs.hpp:386:35: style: Local variable 'prescaler' shadows outer variable [shadowVariable] langford_driver/libs/adf4351_regs.hpp:47:17: note: Shadowed declaration langford_driver/libs/adf4351_regs.hpp:386:35: note: Shadow variable langford_driver/libs/fsynth.cpp:149:28: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/fsynth.cpp:184:26: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/adf4351_regs.hpp:449:17: style: Variable 'prescaler' is assigned a value that is never used. [unreadVariable] langford_driver/libs/lmh6521_regs.hpp:47:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] langford_driver/libs/lmh6521.cpp:32:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/lmh6521.cpp:91:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] langford_driver/libs/lmh6521_regs.hpp:72:14: style:inconclusive: Technically the member function 'lmh6521_regs_t::get_regs' can be const. [functionConst] langford_driver/libs/lmh6521.cpp:84:26: performance: Function parameter 'FileName' should be passed by const reference. [passedByValue] langford_driver/libs/reference/adf4350.c:102:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINVAL [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/adf4350.c:126:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINVAL [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/adf4350.c:246:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINVAL [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/adf4350.c:299:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENODEV [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/adf4350.c:368:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOMEM [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/adf4350.c:231:23: style: Variable 'this_attr' can be declared as pointer to const [constVariablePointer] langford_driver/libs/reference/adf4350.c:278:23: style: Variable 'this_attr' can be declared as pointer to const [constVariablePointer] langford_driver/libs/reference/adf4350.c:198:30: error: Signed integer overflow for expression '0x9<<29'. [integerOverflow] langford_driver/libs/reference/driver1_util.cpp:28:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IOCTL_SET_LO_LE [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/driver1_util.cpp:43:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/driver1_util.cpp:229:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] langford_driver/libs/reference/driver1_util.cpp:288:4: error: Resource leak: DevFD [resourceLeak] langford_driver/libs/reference/driver1_util.cpp:344:3: error: Resource leak: DevFD [resourceLeak] langford_driver/libs/reference/driver1_util.cpp:304:74: error: Uninitialized variable: tmp [legacyUninitvar] langford_driver/libs/dev/fsynthADF4351.hpp:11:1: error: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' [ctuOneDefinitionRuleViolation] langford_driver/libs/dev/fsynthTP3_HP.hpp:11:1: note: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' langford_driver/libs/dev/fsynthADF4351.hpp:11:1: note: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' langford_driver/libs/dev/fsynthADF4351.hpp:11:1: error: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' [ctuOneDefinitionRuleViolation] langford_driver/libs/fsynth.hpp:11:1: note: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' langford_driver/libs/dev/fsynthADF4351.hpp:11:1: note: The one definition rule is violated, different classes/structs have the same name 'fsynth_t' diff: DONE