2026-07-24 02:54 ftp://ftp.de.debian.org/debian/pool/main/libh/libhyprcursor/libhyprcursor_0.1.13.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.12.88+deb13-amd64-x86_64-with-glibc2.41 python: 3.12.13 client-version: 1.4.0 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.21.0 head-info: 55ae8c4 (2026-07-23 11:47:05 +0200) count: 74 74 elapsed-time: 0.5 0.2 head-timing-info: old-timing-info: head results: hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:60:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:122:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable filename [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:261:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable trunc [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:384:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:112:20: style: Variable 'SHAPE' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/hyprcursor-util/src/main.cpp:178:16: style: Variable 'shape' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.hpp:13:5: style: Class 'CVarList' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.cpp:24:56: style:inconclusive: Function 'CVarList' argument 2 names different: declaration 'maxSize' definition 'lastArgNo'. [funcArgNamesDifferent] hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.hpp:13:50: note: Function 'CVarList' argument 2 names different: declaration 'maxSize' definition 'lastArgNo'. hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.cpp:24:56: note: Function 'CVarList' argument 2 names different: declaration 'maxSize' definition 'lastArgNo'. hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.hpp:28:35: performance: Function parameter 'arg' should be passed by const reference. [passedByValue] hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.hpp:53:20: style: Variable 'a' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/VarList.hpp:53:9: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] hyprwm-hyprcursor-44e91d4/libhyprcursor/internalSharedTypes.hpp:15:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_RESIZE_NONE [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:43:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_LOG_INFO [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:76:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_LOG_TRACE [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:138:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_LOG_TRACE [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:243:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable logFn [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:284:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable impl [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:288:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable finalizedAndValid [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:302:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable shapes [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:396:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_RESIZE_NONE [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:443:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable shapes [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:590:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable shapes [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:612:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable logFn [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:625:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_STATUS_READ_ERROR [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:664:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HC_LOG_TRACE [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.hpp:15:5: style: Class 'CManifest' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:365:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:365:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:366:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:366:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:367:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:367:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:368:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:368:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:369:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:369:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:369:54: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:369:54: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:370:9: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:370:9: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:370:54: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:57: note: Assuming allocation function fails hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: note: Assignment 'data=(SCursorImageData**)malloc(sizeof(SCursorImageData*)*resultingImages.size())', assigned value is 0 hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:370:54: note: Null pointer dereference hyprwm-hyprcursor-44e91d4/libhyprcursor/internalDefines.hpp:12:22: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/internalDefines.hpp:14:22: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/Log.hpp:20:19: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:363:31: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:365:29: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:508:80: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:549:80: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:560:64: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:622:23: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:632:25: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:769:30: style: C-style pointer casting [cstyleCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:450:14: style: The scope of the variable 'sizeFound' can be reduced. [variableScope] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:55:30: style: Variable 'e' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:99:16: style: Variable 'dir' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:178:16: style: Variable 'dir' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:333:20: style: Variable 'image' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:399:16: style: Variable 'shape' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor.cpp:455:24: style: Variable 'image' can be declared as reference to const [constVariableReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:15:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:19:22: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:24:28: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:31:28: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:49:28: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:56:22: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/hyprcursor_c.cpp:61:22: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.cpp:40:96: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable throwAllErrors [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.cpp:73:24: style:inconclusive: Technically the member function 'CManifest::getPath' can be const. [functionConst] hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.hpp:18:32: note: Technically the member function 'CManifest::getPath' can be const. hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.cpp:73:24: note: Technically the member function 'CManifest::getPath' can be const. hyprwm-hyprcursor-44e91d4/libhyprcursor/manifest.hpp:18:32: performance: Function 'getPath()' should return member 'path' by const reference. [returnByReference] hyprwm-hyprcursor-44e91d4/libhyprcursor/meta.cpp:143:95: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pathIsStream [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/libhyprcursor/meta.cpp:180:17: error: Rethrowing current exception with 'throw;', it seems there is no current exception to rethrow. If there is no current exception this calls std::terminate(). More: https://isocpp.org/wiki/faq/exceptions#throw-without-an-object [rethrowNoCurrentException] hyprwm-hyprcursor-44e91d4/libhyprcursor/meta.cpp:187:17: error: Rethrowing current exception with 'throw;', it seems there is no current exception to rethrow. If there is no current exception this calls std::terminate(). More: https://isocpp.org/wiki/faq/exceptions#throw-without-an-object [rethrowNoCurrentException] hyprwm-hyprcursor-44e91d4/libhyprcursor/meta.cpp:85:29: style: Variable 'DELAY' is assigned a value that is never used. [unreadVariable] hyprwm-hyprcursor-44e91d4/tests/c_test.c:49:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable len [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/tests/c_test.c:12:56: style: Parameter 'message' can be declared as pointer to const. However it seems that 'logFunction' is a callback function, if 'message' is declared with const you might also need to cast function pointer(s). [constParameterCallback] hyprwm-hyprcursor-44e91d4/tests/c_test.c:17:84: note: You might need to cast the function pointer here hyprwm-hyprcursor-44e91d4/tests/c_test.c:12:56: note: Parameter 'message' can be declared as pointer to const hyprwm-hyprcursor-44e91d4/tests/full_rendering.cpp:13:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/tests/full_rendering.cpp:27:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/tests/full_rendering.cpp:12:56: style: Parameter 'message' can be declared as pointer to const. However it seems that 'logFunction' is a callback function, if 'message' is declared with const you might also need to cast function pointer(s). [constParameterCallback] hyprwm-hyprcursor-44e91d4/tests/full_rendering.cpp:20:49: note: You might need to cast the function pointer here hyprwm-hyprcursor-44e91d4/tests/full_rendering.cpp:12:56: note: Parameter 'message' can be declared as pointer to const hyprwm-hyprcursor-44e91d4/tests/only_metadata.cpp:16:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/tests/only_metadata.cpp:30:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] hyprwm-hyprcursor-44e91d4/tests/only_metadata.cpp:15:56: style: Parameter 'message' can be declared as pointer to const. However it seems that 'logFunction' is a callback function, if 'message' is declared with const you might also need to cast function pointer(s). [constParameterCallback] hyprwm-hyprcursor-44e91d4/tests/only_metadata.cpp:23:49: note: You might need to cast the function pointer here hyprwm-hyprcursor-44e91d4/tests/only_metadata.cpp:15:56: note: Parameter 'message' can be declared as pointer to const diff: DONE