2026-01-09 06:15 ftp://ftp.de.debian.org/debian/pool/main/f/fnfx/fnfx_0.3.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 -j8 platform: Linux-6.17.12+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.11 client-version: 1.3.69 compiler: g++ (Debian 15.2.0-12) 15.2.0 cppcheck: head 2.19.0 head-info: 1019e7a5 (2026-01-08 20:55:13 +0100) count: 71 71 elapsed-time: 0.0 0.1 head-timing-info: old-timing-info: head results: fnfx-0.3/src/fnfx.c:100:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx.c:122:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx.c:171:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx.c:183:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx_init.c:91:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SETVAL [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx_init.c:242:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETVAL [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx_misc.c:94:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IPC_STAT [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx.c:141:5: warning: Return value of function semop() is not used. [ignoredReturnValue] fnfx-0.3/src/fnfxd.c:104:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd.c:126:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd.c:142:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd.c:156:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd.c:182:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx_init.c:244:9: warning: Return value of function semop() is not used. [ignoredReturnValue] fnfx-0.3/src/fnfx_init.c:252:5: warning: Return value of function semop() is not used. [ignoredReturnValue] fnfx-0.3/src/fnfxd_acpi.c:113:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETVAL [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfx_init.c:275:15: style: Condition 'cp_cfg(&config)' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfx_init.c:275:15: note: Calling function 'cp_cfg' returns 0 fnfx-0.3/src/fnfx_init.c:275:15: note: Condition 'cp_cfg(&config)' is always false fnfx-0.3/src/fnfx_init.c:278:18: style: Condition 'set_flags(flags)' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfx_init.c:278:18: note: Calling function 'set_flags' returns 0 fnfx-0.3/src/fnfx_init.c:278:18: note: Condition 'set_flags(flags)' is always false fnfx-0.3/src/fnfx_init.c:281:17: style: Condition 'init_pid()' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfx_init.c:281:17: note: Calling function 'init_pid' returns 0 fnfx-0.3/src/fnfx_init.c:281:17: note: Condition 'init_pid()' is always false fnfx-0.3/src/fnfx_init.c:284:24: style: Condition 'init_daemon_cfg()' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfx_init.c:284:24: note: Calling function 'init_daemon_cfg' returns 0 fnfx-0.3/src/fnfx_init.c:284:24: note: Condition 'init_daemon_cfg()' is always false fnfx-0.3/src/fnfx_init.c:168:20: style: Parameter 'flags' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfxd.c:238:13: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] fnfx-0.3/src/fnfx_init.c:153:32: portability: 'config->shmem.addr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] fnfx-0.3/src/fnfx_init.c:156:30: portability: 'config->shmem.addr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] fnfx-0.3/src/fnfx_init.c:197:34: portability: 'cfg->shmem.addr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] fnfx-0.3/src/fnfxd_acpi.c:158:54: warning: Either the condition 'fnkey_pos!=-1' is redundant or the array 'cfg->keymap.fnkey[128]' is accessed at index -1, which is out of bounds. [negativeIndex] fnfx-0.3/src/fnfxd_acpi.c:161:27: note: Assuming that condition 'fnkey_pos!=-1' is not redundant fnfx-0.3/src/fnfxd_acpi.c:158:54: note: Negative array index fnfx-0.3/src/fnfxd_acpi.c:79:5: warning: Return value of function semop() is not used. [ignoredReturnValue] fnfx-0.3/src/fnfxd.c:154:15: style: Variable 'value' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_acpi.c:153:9: warning: %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] fnfx-0.3/src/fnfxd_acpi.c:197:13: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_acpi.c:145:19: style: Variable 'fnkey_pos' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_init.c:87:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IPC_RMID [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_init.c:156:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IPC_CREAT [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_init.c:262:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_init.c:285:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IPC_CREAT [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_cmds.c:88:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_cmds.c:101:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_misc.c:195:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IPC_STAT [valueFlowBailoutIncompleteVar] fnfx-0.3/src/fnfxd_misc.c:86:11: style: Variable 'command' can be declared as pointer to const [constVariablePointer] fnfx-0.3/src/fnfxd_cmds.c:196:9: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_cmds.c:216:9: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_cmds.c:270:9: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_cmds.c:389:9: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_cmds.c:432:9: error: Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour. [IOWithoutPositioning] fnfx-0.3/src/fnfxd_cmds.c:370:13: error: Resource leak: f [resourceLeak] fnfx-0.3/src/fnfxd_init.c:327:15: style: Condition 'cp_cfg(&config)' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfxd_init.c:327:15: note: Calling function 'cp_cfg' returns 0 fnfx-0.3/src/fnfxd_init.c:327:15: note: Condition 'cp_cfg(&config)' is always false fnfx-0.3/src/fnfxd_init.c:330:18: style: Condition 'set_flags(debug_flag,nodetach_flag)' is always false [knownConditionTrueFalse] fnfx-0.3/src/fnfxd_init.c:330:18: note: Calling function 'set_flags' returns 0 fnfx-0.3/src/fnfxd_init.c:330:18: note: Condition 'set_flags(debug_flag,nodetach_flag)' is always false fnfx-0.3/src/fnfxd_cmds.c:226:15: style: Variable 'value' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_cmds.c:226:9: style: Variable 'value' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_cmds.c:282:11: style: Variable 'value' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_init.c:196:20: style: Parameter 'debug_flag' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfxd_init.c:196:37: style: Parameter 'nodetach_flag' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfxd_init.c:181:32: portability: 'config->shmem.addr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] fnfx-0.3/src/fnfxd_init.c:184:30: portability: 'config->shmem.addr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] fnfx-0.3/src/fnfxd_init.c:124:9: style: Variable 'pid' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfxd_cfg.c:330:9: style: Condition 'f' is always true [knownConditionTrueFalse] fnfx-0.3/src/fnfxd_cfg.c:355:9: style: Condition 'f' is always true [knownConditionTrueFalse] fnfx-0.3/src/fnfxd_cfg.c:112:13: warning: %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] fnfx-0.3/src/fnfxd_cfg.c:112:13: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fnfx-0.3/src/fnfxd_cfg.c:198:13: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fnfx-0.3/src/fnfxd_cfg.c:244:13: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fnfx-0.3/src/fnfxd_cfg.c:287:13: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fnfx-0.3/src/fnfxd_cfg.c:134:29: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfxd_cfg.c:148:21: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfxd_cfg.c:186:11: style: Variable 'i' is assigned a value that is never used. [unreadVariable] fnfx-0.3/src/fnfx_cfg.c:241:9: style: Condition 'f' is always true [knownConditionTrueFalse] fnfx-0.3/src/fnfx_cfg.c:178:13: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] fnfx-0.3/src/fnfx_cfg.c:103:29: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfx_cfg.c:117:31: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfx_cfg.c:132:21: style: Parameter 'command' can be declared as pointer to const [constParameterPointer] fnfx-0.3/src/fnfx_cfg.c:167:11: style: Variable 'i' is assigned a value that is never used. [unreadVariable] diff: DONE