2026-05-02 18:09 ftp://ftp.de.debian.org/debian/pool/main/j/jmtpfs/jmtpfs_0.5.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.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: 157 157 elapsed-time: 0.7 0.6 head-timing-info: old-timing-info: head results: jmtpfs-0.5/src/ConnectedMtpDevices.cpp:35:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBMTP_ERROR_NO_DEVICE_ATTACHED [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/ConnectedMtpDevices.cpp:92:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bus_location [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpDevice.h:78:2: warning:inconclusive: Member variable 'MtpStorageInfo::id' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:78:2: warning:inconclusive: Member variable 'MtpStorageInfo::freeSpaceInBytes' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:78:2: warning:inconclusive: Member variable 'MtpStorageInfo::maxCapacity' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:90:2: warning:inconclusive: Member variable 'MtpFileInfo::id' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:90:2: warning:inconclusive: Member variable 'MtpFileInfo::parentId' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:90:2: warning:inconclusive: Member variable 'MtpFileInfo::storageId' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:90:2: warning:inconclusive: Member variable 'MtpFileInfo::filesize' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:90:2: warning:inconclusive: Member variable 'MtpFileInfo::modificationdate' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:92:2: warning: Member variable 'MtpFileInfo::modificationdate' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.h:38:24: style:inconclusive: Either there is a missing 'override', or the member function 'MtpError::ErrorCode' can be const. [functionConst] jmtpfs-0.5/src/ConnectedMtpDevices.cpp:47:26: style:inconclusive: Technically the member function 'ConnectedMtpDevices::NumDevices' can be const. [functionConst] jmtpfs-0.5/src/ConnectedMtpDevices.h:44:6: note: Technically the member function 'ConnectedMtpDevices::NumDevices' can be const. jmtpfs-0.5/src/ConnectedMtpDevices.cpp:47:26: note: Technically the member function 'ConnectedMtpDevices::NumDevices' can be const. jmtpfs-0.5/src/ConnectedMtpDevices.cpp:89:42: style:inconclusive: Technically the member function 'ConnectedMtpDevices::GetDeviceInfo' can be const. [functionConst] jmtpfs-0.5/src/ConnectedMtpDevices.h:48:22: note: Technically the member function 'ConnectedMtpDevices::GetDeviceInfo' can be const. jmtpfs-0.5/src/ConnectedMtpDevices.cpp:89:42: note: Technically the member function 'ConnectedMtpDevices::GetDeviceInfo' can be const. jmtpfs-0.5/src/ConnectedMtpDevices.cpp:86:8: warning: Class 'ConnectedMtpDevices' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] jmtpfs-0.5/src/ConnectedMtpDevices.cpp:86:8: warning: Class 'ConnectedMtpDevices' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] jmtpfs-0.5/src/MtpDevice.h:60:2: style: Class 'MtpDeviceDisconnected' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpDevice.h:66:2: style: Class 'MtpDeviceNotFound' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpDevice.h:72:2: style: Class 'MtpStorageNotFound' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpDevice.h:91:2: style: Struct 'MtpFileInfo' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpDevice.h:125:2: style: Class 'MtpDevice' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/Mutex.h:43:2: style: Class 'LockMutex' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpDevice.cpp:71:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAGIC_MIME_TYPE [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpDevice.cpp:109:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBMTP_STORAGE_SORTBY_NOTSORTED [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpDevice.cpp:279:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBMTP_FILETYPE_QT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpDevice.cpp:61:12: warning: Member variable 'MtpDevice::m_magicBuffer' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpDevice.cpp:36:2: performance: Variable 'name' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] jmtpfs-0.5/src/MtpDevice.cpp:37:2: performance: Variable 'filetype' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] jmtpfs-0.5/src/MtpDevice.cpp:39:2: performance: Variable 'modificationdate' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] jmtpfs-0.5/src/MtpDevice.cpp:154:6: style: Condition 'files' is always true [knownConditionTrueFalse] jmtpfs-0.5/src/MtpDevice.cpp:170:24: warning: Either the condition 'fileInfoP==0' is redundant or there is possible null pointer dereference: fileInfoP. [nullPointerRedundantCheck] jmtpfs-0.5/src/MtpDevice.cpp:166:15: note: Assuming that condition 'fileInfoP==0' is not redundant jmtpfs-0.5/src/MtpDevice.cpp:170:24: note: Null pointer dereference jmtpfs-0.5/src/MtpDevice.cpp:189:40: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/MtpDevice.cpp:193:34: style:inconclusive: Function 'CheckErrors' argument 1 names different: declaration 'throwEvenIfNoError' definition 'throwEvenWithNoError'. [funcArgNamesDifferent] jmtpfs-0.5/src/MtpDevice.h:143:24: note: Function 'CheckErrors' argument 1 names different: declaration 'throwEvenIfNoError' definition 'throwEvenWithNoError'. jmtpfs-0.5/src/MtpDevice.cpp:193:34: note: Function 'CheckErrors' argument 1 names different: declaration 'throwEvenIfNoError' definition 'throwEvenWithNoError'. jmtpfs-0.5/src/MtpDevice.cpp:31:41: style: Parameter 'info' can be declared as reference to const [constParameterReference] jmtpfs-0.5/src/MtpDevice.cpp:114:26: style: Variable 'storage' can be declared as pointer to const [constVariablePointer] jmtpfs-0.5/src/MtpDevice.cpp:197:18: style: Variable 'errors' can be declared as pointer to const [constVariablePointer] jmtpfs-0.5/src/MtpDevice.cpp:130:0: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] jmtpfs-0.5/src/MtpDevice.cpp:129:87: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpFile.cpp:25:10: warning: Member variable 'MtpFile::m_localFile' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpFile.cpp:25:10: warning: Member variable 'MtpFile::m_needWrite' is not initialized in the constructor. [uninitMemberVar] jmtpfs-0.5/src/MtpFilesystemPath.h:30:2: style: Class 'FilesystemPath' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:40:2: style: Class 'MtpFilesystemError' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:46:2: style: Class 'FileNotFound' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:54:2: style: Class 'NotImplemented' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:76:2: style: Class 'CantCreateTempFile' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:82:2: style: Class 'ReadError' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/mtpFilesystemErrors.h:88:2: style: Class 'WriteError' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] jmtpfs-0.5/src/MtpNode.h:38:11: style: The destructor '~MtpNode' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpMetadataCache.h:34:11: note: Virtual destructor in base class jmtpfs-0.5/src/MtpNode.h:38:11: note: Destructor in derived class jmtpfs-0.5/src/MtpFile.h:32:3: style: The destructor '~MtpFile' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:38:11: note: Virtual destructor in base class jmtpfs-0.5/src/MtpFile.h:32:3: note: Destructor in derived class jmtpfs-0.5/src/MtpFile.h:34:27: style: The function 'getNode' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:44:35: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:34:27: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:35:7: style: The function 'getattr' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:47:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:35:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:37:7: style: The function 'Open' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:49:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:37:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:38:7: style: The function 'Close' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:50:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:38:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:39:6: style: The function 'Read' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:51:14: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:39:6: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:40:6: style: The function 'Write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:52:14: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:40:6: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:41:7: style: The function 'Remove' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:55:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:41:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:44:7: style: The function 'Truncate' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:61:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:44:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:45:7: style: The function 'Rename' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:59:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:45:7: note: Function in derived class jmtpfs-0.5/src/MtpFile.h:47:18: style: The function 'getMetadata' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpMetadataCache.h:36:26: note: Virtual function in base class jmtpfs-0.5/src/MtpFile.h:47:18: note: Function in derived class jmtpfs-0.5/src/MtpFile.cpp:147:22: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/MtpFile.cpp:149:11: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/MtpFilesystemPath.cpp:38:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFilesystemPath.cpp:55:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFilesystemPath.cpp:68:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFilesystemPath.cpp:79:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFilesystemPath.h:37:14: performance: Function 'str()' should return member 'm_path' by const reference. [returnByReference] jmtpfs-0.5/src/MtpFolder.cpp:62:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBMTP_FILETYPE_FOLDER [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFolder.cpp:76:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBMTP_FILETYPE_FOLDER [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpFolder.h:32:27: style: The function 'getNode' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:44:35: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:32:27: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:33:7: style: The function 'getattr' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:47:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:33:7: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:35:27: style: The function 'readDirectory' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:46:35: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:35:27: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:36:7: style: The function 'Remove' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:55:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:36:7: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:38:7: style: The function 'mkdir' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:54:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:38:7: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:39:7: style: The function 'CreateFile' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:57:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:39:7: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:41:11: style: The function 'FolderId' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:66:19: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:41:11: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:42:11: style: The function 'StorageId' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:67:19: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:42:11: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:44:7: style: The function 'Rename' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:59:15: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:44:7: note: Function in derived class jmtpfs-0.5/src/MtpFolder.h:46:18: style: The function 'getMetadata' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpMetadataCache.h:36:26: note: Virtual function in base class jmtpfs-0.5/src/MtpFolder.h:46:18: note: Function in derived class jmtpfs-0.5/src/MtpFolder.cpp:134:21: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/MtpFolder.cpp:60:88: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpFolder.cpp:72:88: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpFolder.cpp:98:90: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpFolder.cpp:167:85: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpFuseContext.h:42:13: style:inconclusive: Member variable 'MtpFuseContext::m_uid' is in the wrong place in the initializer list. [initializerList] jmtpfs-0.5/src/MtpFuseContext.cpp:26:31: note: Member variable 'MtpFuseContext::m_uid' is in the wrong place in the initializer list. jmtpfs-0.5/src/MtpFuseContext.h:42:13: note: Member variable 'MtpFuseContext::m_uid' is in the wrong place in the initializer list. jmtpfs-0.5/src/MtpRoot.h:32:27: style: The function 'getNode' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:44:35: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:32:27: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:33:7: style: The function 'getattr' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:47:15: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:33:7: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:35:27: style: The function 'readDirectory' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:46:35: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:35:27: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:37:7: style: The function 'mkdir' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:54:15: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:37:7: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:38:7: style: The function 'Remove' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:55:15: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:38:7: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:39:18: style: The function 'getMetadata' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpMetadataCache.h:36:26: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:39:18: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:41:17: style: The function 'GetStorageInfo' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:63:25: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:41:17: note: Function in derived class jmtpfs-0.5/src/MtpRoot.h:43:7: style: The function 'statfs' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:71:15: note: Virtual function in base class jmtpfs-0.5/src/MtpRoot.h:43:7: note: Function in derived class jmtpfs-0.5/src/MtpLocalFileCopy.cpp:32:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:54:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:84:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:91:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:100:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:110:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:117:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:125:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:39:2: error: Unhandled exception thrown in function declared not to throw exceptions. [throwInNoexceptFunction] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:63:19: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/MtpLocalFileCopy.cpp:121:65: style: Parameter 'destination' can be declared as reference to const [constParameterReference] jmtpfs-0.5/src/MtpMetadataCache.cpp:37:97: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpStorage.h:32:7: style: The function 'Remove' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpFolder.h:36:7: note: Virtual function in base class jmtpfs-0.5/src/MtpStorage.h:32:7: note: Function in derived class jmtpfs-0.5/src/MtpStorage.h:34:7: style: The function 'Rename' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpFolder.h:44:7: note: Virtual function in base class jmtpfs-0.5/src/MtpStorage.h:34:7: note: Function in derived class jmtpfs-0.5/src/MtpStorage.h:36:27: style: The function 'Clone' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] jmtpfs-0.5/src/MtpNode.h:69:35: note: Virtual function in base class jmtpfs-0.5/src/MtpStorage.h:36:27: note: Function in derived class jmtpfs-0.5/src/MtpRoot.cpp:44:93: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpRoot.cpp:66:93: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/MtpRoot.cpp:104:84: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/Mutex.cpp:41:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_MUTEX_RECURSIVE [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/Mutex.cpp:68:10: error: Unhandled exception thrown in function declared not to throw exceptions. [throwInNoexceptFunction] jmtpfs-0.5/src/TemporaryFile.cpp:30:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/TemporaryFile.cpp:28:2: warning: Class 'TemporaryFile' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] jmtpfs-0.5/src/TemporaryFile.cpp:28:2: warning: Class 'TemporaryFile' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] jmtpfs-0.5/src/jmtpfs.cpp:86:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:105:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:117:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:128:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:138:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:149:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:160:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:175:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:185:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:196:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:207:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:218:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:234:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:246:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:259:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:272:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:331:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] jmtpfs-0.5/src/jmtpfs.cpp:284:6: style:inconclusive: Member variable 'jmtpfs_options::listStorage' is in the wrong place in the initializer list. [initializerList] jmtpfs-0.5/src/jmtpfs.cpp:279:31: note: Member variable 'jmtpfs_options::listStorage' is in the wrong place in the initializer list. jmtpfs-0.5/src/jmtpfs.cpp:284:6: note: Member variable 'jmtpfs_options::listStorage' is in the wrong place in the initializer list. jmtpfs-0.5/src/jmtpfs.cpp:78:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:93:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:111:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:122:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:133:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:143:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:154:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:166:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:180:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:190:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:201:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:212:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:224:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:239:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:251:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:264:2: style: C-style pointer casting [cstyleCast] jmtpfs-0.5/src/jmtpfs.cpp:355:47: style: Local variable 'i' shadows outer variable [shadowVariable] jmtpfs-0.5/src/jmtpfs.cpp:341:11: note: Shadowed declaration jmtpfs-0.5/src/jmtpfs.cpp:355:47: note: Shadow variable jmtpfs-0.5/src/jmtpfs.cpp:362:14: style: Local variable 'i' shadows outer variable [shadowVariable] jmtpfs-0.5/src/jmtpfs.cpp:361:42: note: Shadowed declaration jmtpfs-0.5/src/jmtpfs.cpp:362:14: note: Shadow variable jmtpfs-0.5/src/jmtpfs.cpp:100:0: style: Consider using std::any_of algorithm instead of a raw loop. [useStlAlgorithm] jmtpfs-0.5/src/jmtpfs.cpp:98:85: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/jmtpfs.cpp:355:90: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/jmtpfs.cpp:361:89: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/jmtpfs.cpp:367:105: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] jmtpfs-0.5/src/jmtpfs.cpp:418:88: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] diff: DONE