2026-05-01 12:30 ftp://ftp.de.debian.org/debian/pool/main/c/consolation/consolation_0.0.10.orig.tar.xz 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.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 48 48 elapsed-time: 0.4 0.3 head-timing-info: old-timing-info: head results: consolation-0.0.10/src/input.c:94:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBINPUT_BUTTON_STATE_PRESSED [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:120:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:214:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:291:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable program_invocation_short_name [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:313:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BTN_LEFT [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:342:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable required_argument [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:459:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SA_SIGINFO [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/input.c:406:25: warning: If memory allocation fails, then there is a possible null pointer dereference: btn [nullPointerOutOfMemory] consolation-0.0.10/src/input.c:405:25: note: Assuming allocation function fails consolation-0.0.10/src/input.c:405:25: note: Assignment 'btn=strdup(optarg)', assigned value is 0 consolation-0.0.10/src/input.c:406:25: note: Null pointer dereference consolation-0.0.10/src/input.c:148:46: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] consolation-0.0.10/src/input.c:203:35: style: Parameter 'siginfo' can be declared as pointer to const. However it seems that 'sighandler' is a callback function, if 'siginfo' is declared with const you might also need to cast function pointer(s). [constParameterCallback] consolation-0.0.10/src/input.c:458:22: note: You might need to cast the function pointer here consolation-0.0.10/src/input.c:203:35: note: Parameter 'siginfo' can be declared as pointer to const consolation-0.0.10/src/input.c:203:50: style: Parameter 'userdata' can be declared as pointer to const. However it seems that 'sighandler' is a callback function, if 'userdata' is declared with const you might also need to cast function pointer(s). [constParameterCallback] consolation-0.0.10/src/input.c:458:22: note: You might need to cast the function pointer here consolation-0.0.10/src/input.c:203:50: note: Parameter 'userdata' can be declared as pointer to const consolation-0.0.10/src/input.c:341:26: style: Variable 'opts' can be declared as const array [constVariable] consolation-0.0.10/src/input.c:118:12: style: Variable 'v' is assigned a value that is never used. [unreadVariable] consolation-0.0.10/src/selection.c:33:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KDGETMODE [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:42:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:80:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SETSEL [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:104:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELCLEAR [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:111:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELPOINTER [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:117:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELCHAR [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:123:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELWORD [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:129:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELLINE [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:134:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_PASTESEL [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:149:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SCROLLCONSOLE [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:173:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCL_SELLOADLUT [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/selection.c:68:3: error: Resource handle 'fd' freed twice. [doubleFree] consolation-0.0.10/src/selection.c:64:3: note: Resource handle 'fd' freed twice. consolation-0.0.10/src/selection.c:68:3: note: Resource handle 'fd' freed twice. consolation-0.0.10/src/selection.c:166:26: style:inconclusive: Function 'set_lut' argument 1 names different: declaration 'word_chars' definition 'def'. [funcArgNamesDifferent] consolation-0.0.10/src/consolation.h:53:26: note: Function 'set_lut' argument 1 names different: declaration 'word_chars' definition 'def'. consolation-0.0.10/src/selection.c:166:26: note: Function 'set_lut' argument 1 names different: declaration 'word_chars' definition 'def'. consolation-0.0.10/src/selection.c:170:10: style: struct member 'Anonymous2::subcode' is never used. [unusedStructMember] consolation-0.0.10/src/selection.c:171:10: style: struct member 'Anonymous2::padding' is never used. [unusedStructMember] consolation-0.0.10/src/util-strings.h:103:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/util-strings.h:133:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/util-strings.h:193:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:71:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBINPUT_CONFIG_ACCEL_PROFILE_NONE [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:99:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBINPUT_CONFIG_TAP_MAP_LRM [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:322:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:349:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:384:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:436:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBINPUT_CONFIG_SEND_EVENTS_DISABLED [valueFlowBailoutIncompleteVar] consolation-0.0.10/src/shared.c:328:2: error: Resource leak: fd [resourceLeak] consolation-0.0.10/src/shared.c:324:49: portability: Casting non-zero decimal integer literal to pointer. [intToPointerCast] consolation-0.0.10/src/shared.c:409:19: style:inconclusive: Function 'tools_open_backend' argument 2 names different: declaration 'seat_or_devices' definition 'seat_or_device'. [funcArgNamesDifferent] consolation-0.0.10/src/shared.h:146:22: note: Function 'tools_open_backend' argument 2 names different: declaration 'seat_or_devices' definition 'seat_or_device'. consolation-0.0.10/src/shared.c:409:19: note: Function 'tools_open_backend' argument 2 names different: declaration 'seat_or_devices' definition 'seat_or_device'. consolation-0.0.10/src/shared.c:45:30: style: Parameter 'li' can be declared as pointer to const. However it seems that 'log_handler' is a callback function, if 'li' is declared with const you might also need to cast function pointer(s). [constParameterCallback] consolation-0.0.10/src/shared.c:389:32: note: You might need to cast the function pointer here consolation-0.0.10/src/shared.c:45:30: note: Parameter 'li' can be declared as pointer to const consolation-0.0.10/src/shared.c:318:8: style: Variable 'grab' can be declared as pointer to const [constVariablePointer] consolation-0.0.10/src/shared.c:332:32: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'close_restricted' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] consolation-0.0.10/src/shared.c:339:22: note: You might need to cast the function pointer here consolation-0.0.10/src/shared.c:332:32: note: Parameter 'user_data' can be declared as pointer to const consolation-0.0.10/src/shared.c:378:26: style: Variable 'device' can be declared as pointer to const [constVariablePointer] consolation-0.0.10/src/util-strings.h:301:9: style: Variable 'pair' can be declared as pointer to const [constVariablePointer] consolation-0.0.10/src/util-strings.c:238:11: style: Obsolescent function 'rindex' called. It is recommended to use 'strrchr' instead. [prohibitedrindexCalled] consolation-0.0.10/src/util-strings.c:109:46: style:inconclusive: Function 'strv_from_string' argument 2 names different: declaration 'separator' definition 'separators'. [funcArgNamesDifferent] consolation-0.0.10/src/util-strings.h:210:53: note: Function 'strv_from_string' argument 2 names different: declaration 'separator' definition 'separators'. consolation-0.0.10/src/util-strings.c:109:46: note: Function 'strv_from_string' argument 2 names different: declaration 'separator' definition 'separators'. consolation-0.0.10/src/util-strings.c:233:8: style: Variable 'suffix' can be declared as pointer to const [constVariablePointer] diff: DONE