2025-05-10 17:34 ftp://ftp.de.debian.org/debian/pool/main/f/fuse-posixovl/fuse-posixovl_1.3.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 -j3 platform: Linux-6.8.0-1022-oracle-aarch64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 cppcheck: head 2.17.0 head-info: beb3362 (2025-05-10 14:33:23 +0200) count: 86 86 elapsed-time: 0.3 0.3 head-timing-info: old-timing-info: head results: fuse-posixovl-1.3/lntest.c:18:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/lntest.c:49:20: error: Dereferencing 'q' after it is deallocated / released [deallocuse] fuse-posixovl-1.3/lntest.c:52:20: error: Dereferencing 'q' after it is deallocated / released [deallocuse] fuse-posixovl-1.3/socket.c:23:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/lntest.c:12:21: style: Parameter 'path' can be declared as pointer to const [constParameterPointer] fuse-posixovl-1.3/lntest.c:33:8: style: Variable 'p' can be declared as pointer to const [constVariablePointer] fuse-posixovl-1.3/lntest.c:33:12: style: Variable 'q' can be declared as pointer to const [constVariablePointer] fuse-posixovl-1.3/socket.c:49:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/socket.c:61:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/socket.c:61:3: error: Resource leak: fd2 [resourceLeak] fuse-posixovl-1.3/socket.c:65:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/socket.c:65:3: error: Resource leak: fd2 [resourceLeak] fuse-posixovl-1.3/socket.c:70:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/socket.c:70:3: error: Resource leak: fd2 [resourceLeak] fuse-posixovl-1.3/socket.c:77:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/socket.c:82:3: error: Resource leak: fd1 [resourceLeak] fuse-posixovl-1.3/posixovl.c:144:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:149:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:158:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_RDLCK [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:174:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_WRLCK [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:190:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:235:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_SYMLINK_NOFOLLOW [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:280:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:341:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:379:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:418:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_SYMLINK_NOFOLLOW [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:472:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:489:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:564:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:629:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:668:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:697:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_SYMLINK_NOFOLLOW [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:755:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_SYMLINK_NOFOLLOW [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:885:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:916:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:952:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:968:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_SYMLINK_NOFOLLOW [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:985:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EPERM [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1054:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1091:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1110:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1155:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1198:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1289:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1310:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1342:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_ISVTX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1401:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1444:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EPERM [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1486:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EPERM [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1536:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1586:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1626:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1664:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1726:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1750:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1762:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EPERM [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1812:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1862:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1903:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:2004:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:2027:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] fuse-posixovl-1.3/posixovl.c:1594:19: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] fuse-posixovl-1.3/posixovl.c:1518:8: warning: Either the condition 'fd<0' is redundant or close() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] fuse-posixovl-1.3/posixovl.c:1514:9: note: Assuming that condition 'fd<0' is not redundant fuse-posixovl-1.3/posixovl.c:1518:8: note: Invalid argument fuse-posixovl-1.3/posixovl.c:190:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:250:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:343:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:379:4: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:472:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:489:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:668:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:709:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:718:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:731:4: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:970:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:1290:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:1311:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:1316:3: warning: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'. [invalidPrintfArgType_uint] fuse-posixovl-1.3/posixovl.c:2050:2: warning: If memory allocation fails, then there is a possible null pointer dereference: new_argv [nullPointerOutOfMemory] fuse-posixovl-1.3/posixovl.c:2049:19: note: Assuming allocation function fails fuse-posixovl-1.3/posixovl.c:2049:19: note: Assignment 'new_argv=malloc(sizeof(char*)*(argc+5-optind))', assigned value is 0 fuse-posixovl-1.3/posixovl.c:2050:2: note: Null pointer dereference fuse-posixovl-1.3/posixovl.c:2060:2: warning: If memory allocation fails, then there is a possible null pointer dereference: new_argv [nullPointerOutOfMemory] fuse-posixovl-1.3/posixovl.c:2049:19: note: Assuming allocation function fails fuse-posixovl-1.3/posixovl.c:2049:19: note: Assignment 'new_argv=malloc(sizeof(char*)*(argc+5-optind))', assigned value is 0 fuse-posixovl-1.3/posixovl.c:2060:2: note: Null pointer dereference fuse-posixovl-1.3/posixovl.c:944:68: style: Parameter 'filp' can be declared as pointer to const. However it seems that 'posixovl_close' is a callback function, if 'filp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fuse-posixovl-1.3/posixovl.c:1989:17: note: You might need to cast the function pointer here fuse-posixovl-1.3/posixovl.c:944:68: note: Parameter 'filp' can be declared as pointer to const fuse-posixovl-1.3/posixovl.c:1030:28: style: Parameter 'filp' can be declared as pointer to const. However it seems that 'posixovl_ftruncate' is a callback function, if 'filp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fuse-posixovl-1.3/posixovl.c:1977:17: note: You might need to cast the function pointer here fuse-posixovl-1.3/posixovl.c:1030:28: note: Parameter 'filp' can be declared as pointer to const fuse-posixovl-1.3/posixovl.c:1142:51: style: Parameter 'conn' can be declared as pointer to const. However it seems that 'posixovl_init' is a callback function, if 'conn' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fuse-posixovl-1.3/posixovl.c:1980:17: note: You might need to cast the function pointer here fuse-posixovl-1.3/posixovl.c:1142:51: note: Parameter 'conn' can be declared as pointer to const fuse-posixovl-1.3/posixovl.c:1571:42: style: Parameter 'filp' can be declared as pointer to const. However it seems that 'posixovl_read' is a callback function, if 'filp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fuse-posixovl-1.3/posixovl.c:1986:17: note: You might need to cast the function pointer here fuse-posixovl-1.3/posixovl.c:1571:42: note: Parameter 'filp' can be declared as pointer to const fuse-posixovl-1.3/posixovl.c:1947:42: style: Parameter 'filp' can be declared as pointer to const. However it seems that 'posixovl_write' is a callback function, if 'filp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fuse-posixovl-1.3/posixovl.c:1999:17: note: You might need to cast the function pointer here fuse-posixovl-1.3/posixovl.c:1947:42: note: Parameter 'filp' can be declared as pointer to const fuse-posixovl-1.3/posixovl.c:1008:12: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] fuse-posixovl-1.3/posixovl.c:1459:12: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] diff: DONE