2025-11-21 06:23 ftp://ftp.de.debian.org/debian/pool/main/f/fische/fische_3.2.2.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --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 -j4 platform: Linux-5.4.0-216-generic-x86_64-with-glibc2.29 python: 3.8.10 client-version: 1.3.69 compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 cppcheck: head 2.18.0 head-info: 5374cd3 (2025-11-20 15:35:39 +0100) count: 116 110 elapsed-time: 0.6 0.6 head-timing-info: old-timing-info: head results: fische-3.2/src/alsa-samples.cpp:53:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/blurengine.cpp:53:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/analyst.cpp:32:10: warning: Member variable 'Analyst::m_LastBeatFrame' is not initialized in the constructor. [uninitMemberVarPrivate] fische-3.2/src/analyst.cpp:57:15: performance:inconclusive: Technically the member function 'Analyst::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/analyst.h:38:8: note: Technically the member function 'Analyst::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/analyst.cpp:57:15: note: Technically the member function 'Analyst::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/analyst.cpp:154:17: style:inconclusive: Technically the member function 'Analyst::level' can be const. [functionConst] fische-3.2/src/analyst.h:67:10: note: Technically the member function 'Analyst::level' can be const. fische-3.2/src/analyst.cpp:154:17: note: Technically the member function 'Analyst::level' can be const. fische-3.2/src/analyst.cpp:166:17: style:inconclusive: Technically the member function 'Analyst::guessFramesPerBeat' can be const. [functionConst] fische-3.2/src/analyst.h:68:10: note: Technically the member function 'Analyst::guessFramesPerBeat' can be const. fische-3.2/src/analyst.cpp:166:17: note: Technically the member function 'Analyst::guessFramesPerBeat' can be const. fische-3.2/src/alsa-samples.cpp:111:41: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/alsa-samples.cpp:42:22: style: C-style pointer casting [cstyleCast] fische-3.2/src/alsa-samples.cpp:48:14: style: C-style pointer casting [cstyleCast] fische-3.2/src/analyst.cpp:68:24: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fische-3.2/src/alsa-samples.cpp:92:6: style: The scope of the variable 'n' can be reduced. [variableScope] fische-3.2/src/alsa-samples.cpp:45:8: style: Variable 'run' can be declared as pointer to const [constVariablePointer] fische-3.2/src/alsa-samples.cpp:92:8: style: Variable 'n' is assigned a value that is never used. [unreadVariable] fische-3.2/src/blurengine.cpp:132:18: style: Unused private function: 'BlurEngine::emptyBuffer' [unusedPrivateFunction] fische-3.2/src/blurengine.h:51:8: note: Unused private function: 'BlurEngine::emptyBuffer' fische-3.2/src/blurengine.cpp:132:18: note: Unused private function: 'BlurEngine::emptyBuffer' fische-3.2/src/blurengine.cpp:73:18: performance:inconclusive: Technically the member function 'BlurEngine::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/blurengine.h:36:8: note: Technically the member function 'BlurEngine::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/blurengine.cpp:73:18: note: Technically the member function 'BlurEngine::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/vector.h:30:17: style:inconclusive: Technically the member function 'Vector::length' can be const. [functionConst] fische-3.2/src/vector.h:43:19: style:inconclusive: Technically the member function 'Vector::toUint16' can be const. [functionConst] fische-3.2/src/vectorfield.h:57:15: style:inconclusive: Technically the member function 'VectorField::validate' can be const. [functionConst] fische-3.2/src/blurengine.cpp:63:8: warning: Class 'BlurEngine' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] fische-3.2/src/blurengine.cpp:63:8: warning: Class 'BlurEngine' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] fische-3.2/src/vector.h:16:3: style: Class 'Vector' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fische-3.2/src/busyindicator.cpp:64:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/busyindicator.cpp:86:3: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/blurengine.cpp:100:14: style: C-style pointer casting [cstyleCast] fische-3.2/src/blurengine.cpp:120:18: style: C-style pointer casting [cstyleCast] fische-3.2/src/blurengine.cpp:139:21: style: C-style pointer casting [cstyleCast] fische-3.2/src/blurengine.cpp:140:18: style: C-style pointer casting [cstyleCast] fische-3.2/src/busyindicator.cpp:33:21: style: C-style pointer casting [cstyleCast] fische-3.2/src/busyindicator.cpp:53:28: style: C-style pointer casting [cstyleCast] fische-3.2/src/vector.h:50:31: style: Parameter 'other' can be declared as reference to const [constParameterReference] fische-3.2/src/vector.h:55:31: style: Parameter 'other' can be declared as reference to const [constParameterReference] fische-3.2/src/vector.h:84:35: style: Parameter 'nv' can be declared as reference to const [constParameterReference] fische-3.2/src/blurengine.cpp:140:12: style: Variable 'src' can be declared as pointer to const [constVariablePointer] fische-3.2/src/busyindicator.cpp:53:17: style: Variable 'progress' can be declared as pointer to const [constVariablePointer] fische-3.2/src/dummyaudio-samples.cpp:63:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:63:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable required_argument [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:149:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:203:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:219:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:238:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:248:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:271:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:278:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:286:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:294:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:317:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:360:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] fische-3.2/src/configuration.cpp:479:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/dummyaudio-samples.cpp:48:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/dummyaudio-samples.cpp:37:22: style: C-style pointer casting [cstyleCast] fische-3.2/src/dummyaudio-samples.cpp:57:10: style: C-style pointer casting [cstyleCast] fische-3.2/src/dummyaudio-samples.cpp:58:10: style: C-style pointer casting [cstyleCast] fische-3.2/src/dummyaudio-samples.cpp:61:24: style: C-style pointer casting [cstyleCast] fische-3.2/src/dummyaudio-samples.cpp:39:8: style: Variable 'run' can be declared as pointer to const [constVariablePointer] fische-3.2/src/portaudio-samples.cpp:123:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/main.cpp:50:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/pulseaudio-samples.cpp:43:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SAMPLE_S16LE [valueFlowBailoutIncompleteVar] fische-3.2/src/ringbuffer.cpp:34:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/main.cpp:107:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] fische-3.2/src/ringbuffer.cpp:62:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/ringbuffer.cpp:65:21: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/ringbuffer.cpp:83:21: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/ringbuffer.cpp:50:18: performance:inconclusive: Technically the member function 'RingBuffer::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/ringbuffer.h:34:8: note: Technically the member function 'RingBuffer::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/ringbuffer.cpp:50:18: note: Technically the member function 'RingBuffer::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/ringbuffer.cpp:46:8: warning: Class 'RingBuffer' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] fische-3.2/src/ringbuffer.cpp:46:8: warning: Class 'RingBuffer' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] fische-3.2/src/ringbuffer.h:29:3: style: Class 'RingBuffer' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fische-3.2/src/pulseaudio-samples.cpp:37:22: style: C-style pointer casting [cstyleCast] fische-3.2/src/pulseaudio-samples.cpp:49:14: style: C-style pointer casting [cstyleCast] fische-3.2/src/ringbuffer.cpp:31:14: style: C-style pointer casting [cstyleCast] fische-3.2/src/ringbuffer.cpp:32:20: style: C-style pointer casting [cstyleCast] fische-3.2/src/pulseaudio-samples.cpp:59:6: style: The scope of the variable 'n' can be reduced. [variableScope] fische-3.2/src/pulseaudio-samples.cpp:39:8: style: Variable 'run' can be declared as pointer to const [constVariablePointer] fische-3.2/src/ringbuffer.cpp:60:32: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] fische-3.2/src/sdlscreen.cpp:40:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] fische-3.2/src/sdlscreen.cpp:92:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_ENABLE [valueFlowBailoutIncompleteVar] fische-3.2/src/sdlscreen.cpp:138:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_FULLSCREEN [valueFlowBailoutIncompleteVar] fische-3.2/src/pulseaudio-samples.cpp:59:8: style: Variable 'n' is assigned a value that is never used. [unreadVariable] fische-3.2/src/sdlscreen.cpp:97:17: performance:inconclusive: Technically the member function 'SdlScreen::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/sdlscreen.h:44:8: note: Technically the member function 'SdlScreen::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/sdlscreen.cpp:97:17: note: Technically the member function 'SdlScreen::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/sdlscreen.cpp:147:16: performance:inconclusive: Technically the member function 'SdlScreen::checkEvents' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/sdlscreen.h:54:7: note: Technically the member function 'SdlScreen::checkEvents' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/sdlscreen.cpp:147:16: note: Technically the member function 'SdlScreen::checkEvents' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/sdlscreen.cpp:93:19: warning: Class 'SdlScreen' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] fische-3.2/src/sdlscreen.cpp:93:19: warning: Class 'SdlScreen' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] fische-3.2/src/sdlscreen.cpp:137:11: style: The scope of the variable 'flags' can be reduced. [variableScope] fische-3.2/src/vectorfield.cpp:47:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] fische-3.2/src/main.cpp:136:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/main.cpp:143:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fische-3.2/src/configuration.cpp:135:21: performance:inconclusive: Technically the member function 'Configuration::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/configuration.h:33:8: note: Technically the member function 'Configuration::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:135:21: note: Technically the member function 'Configuration::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:147:21: performance:inconclusive: Technically the member function 'Configuration::help' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/configuration.h:97:8: note: Technically the member function 'Configuration::help' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:147:21: note: Technically the member function 'Configuration::help' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:349:21: style:inconclusive: Technically the member function 'Configuration::write_configfile' can be const. [functionConst] fische-3.2/src/configuration.h:108:8: note: Technically the member function 'Configuration::write_configfile' can be const. fische-3.2/src/configuration.cpp:349:21: note: Technically the member function 'Configuration::write_configfile' can be const. fische-3.2/src/configuration.cpp:450:20: performance:inconclusive: Technically the member function 'Configuration::cpu_detect' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/configuration.h:109:7: note: Technically the member function 'Configuration::cpu_detect' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:450:20: note: Technically the member function 'Configuration::cpu_detect' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/configuration.cpp:116:24: style: Condition 'm_ProcessorCores>1' is always false [knownConditionTrueFalse] fische-3.2/src/configuration.cpp:114:32: note: Calling function 'cpu_detect' returns 1 fische-3.2/src/configuration.cpp:114:32: note: Assignment 'm_ProcessorCores=cpu_detect()', assigned value is 1 fische-3.2/src/configuration.cpp:116:24: note: Condition 'm_ProcessorCores>1' is always false fische-3.2/src/configuration.cpp:328:4: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fische-3.2/src/wavepainter.h:45:29: style: Parameter 'v1' can be declared as reference to const [constParameterReference] fische-3.2/src/wavepainter.h:45:41: style: Parameter 'v2' can be declared as reference to const [constParameterReference] fische-3.2/src/configuration.cpp:37:19: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:38:11: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:84:22: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:90:19: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:93:18: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:96:15: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:237:12: style: C-style pointer casting [cstyleCast] fische-3.2/src/configuration.cpp:61:23: style: Variable 'long_options' can be declared as const array [constVariable] fische-3.2/src/configuration.cpp:235:39: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:241:39: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:268:36: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:274:43: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:282:40: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:290:39: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/configuration.cpp:298:36: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] fische-3.2/src/vectorfield.cpp:84:19: performance:inconclusive: Technically the member function 'VectorField::release' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/vectorfield.h:38:8: note: Technically the member function 'VectorField::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/vectorfield.cpp:84:19: note: Technically the member function 'VectorField::release' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/vectorfield.cpp:112:19: performance:inconclusive: Technically the member function 'VectorField::randomize' can be static (but you may consider moving to unnamed namespace). [functionStatic] fische-3.2/src/vectorfield.h:66:8: note: Technically the member function 'VectorField::randomize' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/vectorfield.cpp:112:19: note: Technically the member function 'VectorField::randomize' can be static (but you may consider moving to unnamed namespace). fische-3.2/src/vectorfield.cpp:122:20: style: C-style pointer casting [cstyleCast] fische-3.2/src/vectorfield.cpp:92:9: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fische-3.2/src/vectorfield.cpp:115:2: style: Statements following 'return' will never be executed. [unreachableCode] fische-3.2/src/wavepainter.cpp:64:28: style: C-style pointer casting [cstyleCast] fische-3.2/src/wavepainter.cpp:101:21: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fische-3.2/src/wavepainter.cpp:35:15: style: Variable 'v' can be declared as pointer to const [constVariablePointer] diff: head fische-3.2/src/blurengine.cpp:63:8: warning: Class 'BlurEngine' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] head fische-3.2/src/blurengine.cpp:63:8: warning: Class 'BlurEngine' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] head fische-3.2/src/ringbuffer.cpp:46:8: warning: Class 'RingBuffer' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] head fische-3.2/src/ringbuffer.cpp:46:8: warning: Class 'RingBuffer' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] head fische-3.2/src/sdlscreen.cpp:93:19: warning: Class 'SdlScreen' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] head fische-3.2/src/sdlscreen.cpp:93:19: warning: Class 'SdlScreen' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] DONE