2026-02-19 21:27 ftp://ftp.de.debian.org/debian/pool/main/x/xclicker/xclicker_1.5.1+git20250726.45dbe5b.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=motif --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.14.0-611.26.1.el9_7.x86_64-x86_64-with-glibc2.34 python: 3.9.25 client-version: 1.3.69 compiler: g++ (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11) cppcheck: head 2.19.0 head-info: 179f04a (2026-02-19 22:01:17 +0100) count: 34 36 elapsed-time: 0.3 0.1 head-timing-info: old-timing-info: head results: src/config.c:76:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_F8 [valueFlowBailoutIncompleteVar] src/config.c:78:23: style: Redundant condition: If 'button_1 != 0', the comparison 'button_1' is always true. [redundantCondition] src/config.c:81:23: style: Redundant condition: If 'button_2 != 0', the comparison 'button_2' is always true. [redundantCondition] src/config.c:16:10: error: Return value of allocation function 'opendir' is not stored. [leakReturnValNotUsed] src/config.c:23:12: warning: If memory allocation fails, then there is a possible null pointer dereference: config_file_path [nullPointerOutOfMemory] src/config.c:22:36: note: Assuming allocation function fails src/config.c:22:36: note: Assignment 'config_file_path=malloc(strlen(config_path)+strlen(file_name)+1)', assigned value is 0 src/config.c:23:12: note: Null pointer dereference src/config.c:24:12: warning: If memory allocation fails, then there is a possible null pointer dereference: config_file_path [nullPointerOutOfMemory] src/config.c:22:36: note: Assuming allocation function fails src/config.c:22:36: note: Assignment 'config_file_path=malloc(strlen(config_path)+strlen(file_name)+1)', assigned value is 0 src/config.c:24:12: note: Null pointer dereference src/config.c:31:15: style: Local variable 'config' shadows outer variable [shadowVariable] src/config.h:45:23: note: Shadowed declaration src/config.c:31:15: note: Shadow variable src/config.c:89:20: style: Local variable 'config' shadows outer variable [shadowVariable] src/config.h:45:23: note: Shadowed declaration src/config.c:89:20: note: Shadow variable src/settings.c:68:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_Num_Lock [valueFlowBailoutIncompleteVar] src/x11api.c:16:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XIAllDevices [valueFlowBailoutIncompleteVar] src/x11api.c:56:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GenericEvent [valueFlowBailoutIncompleteVar] src/x11api.c:113:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ButtonRelease [valueFlowBailoutIncompleteVar] src/mainwin.c:245:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Button1 [valueFlowBailoutIncompleteVar] src/mainwin.c:389:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_BUTTONS_OK [valueFlowBailoutIncompleteVar] src/mainwin.c:418:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Button3 [valueFlowBailoutIncompleteVar] src/mainwin.c:555:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KeyPress [valueFlowBailoutIncompleteVar] src/mainwin.c:608:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KeyPress [valueFlowBailoutIncompleteVar] src/settings.c:144:5: error: Return value of allocation function 'g_thread_new' is not stored. [leakReturnValNotUsed] src/settings.c:102:24: warning: If memory allocation fails, then there is a possible null pointer dereference: text [nullPointerOutOfMemory] src/settings.c:101:44: note: Assuming allocation function fails src/settings.c:101:30: note: Assignment 'text=(char*)malloc(1+strlen(key_str))', assigned value is 0 src/settings.c:102:24: note: Null pointer dereference src/x11api.c:87:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/x11api.c:118:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/x11api.c:135:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/x11api.c:58:24: style: Local variable 'event' shadows outer variable [shadowVariable] src/x11api.c:50:12: note: Shadowed declaration src/x11api.c:58:24: note: Shadow variable src/x11api.c:58:24: style: Variable 'event' can be declared as pointer to const [constVariablePointer] src/mainwin.c:153:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/mainwin.c:174:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/mainwin.c:177:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/mainwin.c:297:3: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] src/mainwin.c:466:2: error: Return value of allocation function 'g_thread_new' is not stored. [leakReturnValNotUsed] src/mainwin.c:507:2: error: Return value of allocation function 'g_thread_new' is not stored. [leakReturnValNotUsed] src/mainwin.c:508:2: error: Return value of allocation function 'g_thread_new' is not stored. [leakReturnValNotUsed] src/mainwin.c:732:2: error: Return value of allocation function 'g_thread_new' is not stored. [leakReturnValNotUsed] src/mainwin.c:119:21: style: Variable 'args' can be declared as pointer to const [constVariablePointer] src/mainwin.c:788:49: style: Parameter 'app' can be declared as pointer to const [constParameterPointer] diff: head src/config.c:78:23: style: Redundant condition: If 'button_1 != 0', the comparison 'button_1' is always true. [redundantCondition] 2.19.0 src/config.c:78:23: style: Same expression on both sides of '&&' because 'button_1!=0' and 'button_1' represent the same value. [knownConditionTrueFalse] 2.19.0 src/config.c:78:26: style: Condition 'button_1' is always true [knownConditionTrueFalse] head src/config.c:81:23: style: Redundant condition: If 'button_2 != 0', the comparison 'button_2' is always true. [redundantCondition] 2.19.0 src/config.c:81:23: style: Same expression on both sides of '&&' because 'button_2!=0' and 'button_2' represent the same value. [knownConditionTrueFalse] 2.19.0 src/config.c:81:26: style: Condition 'button_2' is always true [knownConditionTrueFalse] DONE