Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/kdeconnect-20.08.3/daemon/kdeconnectd.cpp Examining data/kdeconnect-20.08.3/smsapp/conversationssortfilterproxymodel.cpp Examining data/kdeconnect-20.08.3/smsapp/conversationssortfilterproxymodel.h Examining data/kdeconnect-20.08.3/smsapp/conversationmodel.cpp Examining data/kdeconnect-20.08.3/smsapp/conversationmodel.h Examining data/kdeconnect-20.08.3/smsapp/conversationlistmodel.h Examining data/kdeconnect-20.08.3/smsapp/main.cpp Examining data/kdeconnect-20.08.3/smsapp/gsmasciimap.cpp Examining data/kdeconnect-20.08.3/smsapp/gsmasciimap.h Examining data/kdeconnect-20.08.3/smsapp/smshelper.cpp Examining data/kdeconnect-20.08.3/smsapp/conversationlistmodel.cpp Examining data/kdeconnect-20.08.3/smsapp/smshelper.h Examining data/kdeconnect-20.08.3/smsapp/smscharcount.h Examining data/kdeconnect-20.08.3/cli/kdeconnect-cli.cpp Examining data/kdeconnect-20.08.3/kcm/kcm.cpp Examining data/kdeconnect-20.08.3/kcm/kcm.h Examining data/kdeconnect-20.08.3/tests/testdevice.h Examining data/kdeconnect-20.08.3/tests/networkpackettests.h Examining data/kdeconnect-20.08.3/tests/testdevice.cpp Examining data/kdeconnect-20.08.3/tests/pluginloadtest.cpp Examining data/kdeconnect-20.08.3/tests/testdaemon.h Examining data/kdeconnect-20.08.3/tests/testprivatedbus.cpp Examining data/kdeconnect-20.08.3/tests/testsmshelper.cpp Examining data/kdeconnect-20.08.3/tests/sendfiletest.cpp Examining data/kdeconnect-20.08.3/tests/testsocketlinereader.cpp Examining data/kdeconnect-20.08.3/urlhandler/kdeconnect-handler.cpp Examining data/kdeconnect-20.08.3/kcmplugin/kdeconnectpluginkcm.cpp Examining data/kdeconnect-20.08.3/kcmplugin/kdeconnectpluginkcm.h Examining data/kdeconnect-20.08.3/kio/kiokdeconnect.h Examining data/kdeconnect-20.08.3/kio/kiokdeconnect.cpp Examining data/kdeconnect-20.08.3/app/main.cpp Examining data/kdeconnect-20.08.3/declarativeplugin/kdeconnectdeclarativeplugin.h Examining data/kdeconnect-20.08.3/declarativeplugin/objectfactory.cpp Examining data/kdeconnect-20.08.3/declarativeplugin/objectfactory.h Examining data/kdeconnect-20.08.3/declarativeplugin/responsewaiter.cpp Examining data/kdeconnect-20.08.3/declarativeplugin/kdeconnectdeclarativeplugin.cpp Examining data/kdeconnect-20.08.3/declarativeplugin/responsewaiter.h Examining data/kdeconnect-20.08.3/settings/main.cpp Examining data/kdeconnect-20.08.3/core/notificationserverinfo.cpp Examining data/kdeconnect-20.08.3/core/kdeconnectpluginconfig.cpp Examining data/kdeconnect-20.08.3/core/networkpacket.cpp Examining data/kdeconnect-20.08.3/core/daemon.cpp Examining data/kdeconnect-20.08.3/core/kdeconnectplugin.h Examining data/kdeconnect-20.08.3/core/networkpackettypes.h Examining data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp Examining data/kdeconnect-20.08.3/core/daemon.h Examining data/kdeconnect-20.08.3/core/filetransferjob.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/compositeuploadjob.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/server.h Examining data/kdeconnect-20.08.3/core/backends/lan/uploadjob.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/lanpairinghandler.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/uploadjob.h Examining data/kdeconnect-20.08.3/core/backends/lan/landevicelink.h Examining data/kdeconnect-20.08.3/core/backends/lan/lanlinkprovider.h Examining data/kdeconnect-20.08.3/core/backends/lan/socketlinereader.h Examining data/kdeconnect-20.08.3/core/backends/lan/socketlinereader.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/landevicelink.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/compositeuploadjob.h Examining data/kdeconnect-20.08.3/core/backends/lan/lanlinkprovider.cpp Examining data/kdeconnect-20.08.3/core/backends/lan/lanpairinghandler.h Examining data/kdeconnect-20.08.3/core/backends/lan/server.cpp Examining data/kdeconnect-20.08.3/core/backends/linkprovider.cpp Examining data/kdeconnect-20.08.3/core/backends/pairinghandler.h Examining data/kdeconnect-20.08.3/core/backends/pairinghandler.cpp Examining data/kdeconnect-20.08.3/core/backends/devicelink.h Examining data/kdeconnect-20.08.3/core/backends/linkprovider.h Examining data/kdeconnect-20.08.3/core/backends/devicelinereader.cpp Examining data/kdeconnect-20.08.3/core/backends/devicelinereader.h Examining data/kdeconnect-20.08.3/core/backends/devicelink.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothlinkprovider.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothpairinghandler.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothuploadjob.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothdownloadjob.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothuploadjob.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothdownloadjob.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothlinkprovider.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/multiplexchannelstate.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothdevicelink.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/connectionmultiplexer.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/multiplexchannel.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothdevicelink.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothpairinghandler.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/connectionmultiplexer.cpp Examining data/kdeconnect-20.08.3/core/backends/bluetooth/multiplexchannelstate.h Examining data/kdeconnect-20.08.3/core/backends/bluetooth/multiplexchannel.h Examining data/kdeconnect-20.08.3/core/backends/loopback/loopbacklinkprovider.h Examining data/kdeconnect-20.08.3/core/backends/loopback/loopbacklinkprovider.cpp Examining data/kdeconnect-20.08.3/core/backends/loopback/loopbackdevicelink.cpp Examining data/kdeconnect-20.08.3/core/backends/loopback/loopbackdevicelink.h Examining data/kdeconnect-20.08.3/core/kdeconnectpluginconfig.h Examining data/kdeconnect-20.08.3/core/compositefiletransferjob.cpp Examining data/kdeconnect-20.08.3/core/kdeconnectconfig.h Examining data/kdeconnect-20.08.3/core/notificationserverinfo.h Examining data/kdeconnect-20.08.3/core/core_debug.cpp Examining data/kdeconnect-20.08.3/core/device.h Examining data/kdeconnect-20.08.3/core/kdeconnectplugin.cpp Examining data/kdeconnect-20.08.3/core/pluginloader.h Examining data/kdeconnect-20.08.3/core/device.cpp Examining data/kdeconnect-20.08.3/core/pluginloader.cpp Examining data/kdeconnect-20.08.3/core/networkpacket.h Examining data/kdeconnect-20.08.3/core/dbushelper.cpp Examining data/kdeconnect-20.08.3/core/filetransferjob.h Examining data/kdeconnect-20.08.3/core/compositefiletransferjob.h Examining data/kdeconnect-20.08.3/core/core_debug.h Examining data/kdeconnect-20.08.3/core/qtcompat_p.h Examining data/kdeconnect-20.08.3/interfaces/notificationsmodel.cpp Examining data/kdeconnect-20.08.3/interfaces/remotecommandsmodel.h Examining data/kdeconnect-20.08.3/interfaces/conversationmessage.cpp Examining data/kdeconnect-20.08.3/interfaces/devicespluginfilterproxymodel.cpp Examining data/kdeconnect-20.08.3/interfaces/remotesinksmodel.h Examining data/kdeconnect-20.08.3/interfaces/dbushelpers.h Examining data/kdeconnect-20.08.3/interfaces/modeltest.cpp Examining data/kdeconnect-20.08.3/interfaces/remotecommandsmodel.cpp Examining data/kdeconnect-20.08.3/interfaces/devicespluginfilterproxymodel.h Examining data/kdeconnect-20.08.3/interfaces/dbusinterfaces.cpp Examining data/kdeconnect-20.08.3/interfaces/devicessortproxymodel.h Examining data/kdeconnect-20.08.3/interfaces/devicesmodel.cpp Examining data/kdeconnect-20.08.3/interfaces/dbusinterfaces.h Examining data/kdeconnect-20.08.3/interfaces/remotesinksmodel.cpp Examining data/kdeconnect-20.08.3/interfaces/notificationsmodel.h Examining data/kdeconnect-20.08.3/interfaces/conversationmessage.h Examining data/kdeconnect-20.08.3/interfaces/devicessortproxymodel.cpp Examining data/kdeconnect-20.08.3/interfaces/modeltest.h Examining data/kdeconnect-20.08.3/interfaces/devicesmodel.h Examining data/kdeconnect-20.08.3/fileitemactionplugin/sendfileitemaction.h Examining data/kdeconnect-20.08.3/fileitemactionplugin/sendfileitemaction.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notifyingapplication.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/sendnotifications_config.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/sendnotifications_config.h Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notifyingapplicationmodel.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notificationslistener.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/sendnotificationsplugin.cpp Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notifyingapplicationmodel.h Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notifyingapplication.h Examining data/kdeconnect-20.08.3/plugins/sendnotifications/sendnotificationsplugin.h Examining data/kdeconnect-20.08.3/plugins/sendnotifications/notificationslistener.h Examining data/kdeconnect-20.08.3/plugins/notifications/notificationsplugin.h Examining data/kdeconnect-20.08.3/plugins/notifications/notificationsdbusinterface.cpp Examining data/kdeconnect-20.08.3/plugins/notifications/notification.h Examining data/kdeconnect-20.08.3/plugins/notifications/sendreplydialog.h Examining data/kdeconnect-20.08.3/plugins/notifications/sendreplydialog.cpp Examining data/kdeconnect-20.08.3/plugins/notifications/notificationsdbusinterface.h Examining data/kdeconnect-20.08.3/plugins/notifications/notification.cpp Examining data/kdeconnect-20.08.3/plugins/notifications/notificationsplugin.cpp Examining data/kdeconnect-20.08.3/plugins/remotecommands/remotecommandsplugin.cpp Examining data/kdeconnect-20.08.3/plugins/remotecommands/remotecommandsplugin.h Examining data/kdeconnect-20.08.3/plugins/presenter/presenterplugin.h Examining data/kdeconnect-20.08.3/plugins/presenter/presenterplugin.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/windowsremoteinput.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/abstractremoteinput.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/mousepadplugin.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/macosremoteinput.h Examining data/kdeconnect-20.08.3/plugins/mousepad/waylandremoteinput.h Examining data/kdeconnect-20.08.3/plugins/mousepad/mousepadplugin.h Examining data/kdeconnect-20.08.3/plugins/mousepad/abstractremoteinput.h Examining data/kdeconnect-20.08.3/plugins/mousepad/waylandremoteinput.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/windowsremoteinput.h Examining data/kdeconnect-20.08.3/plugins/mousepad/x11remoteinput.cpp Examining data/kdeconnect-20.08.3/plugins/mousepad/x11remoteinput.h Examining data/kdeconnect-20.08.3/plugins/contacts/contactsplugin.h Examining data/kdeconnect-20.08.3/plugins/contacts/contactsplugin.cpp Examining data/kdeconnect-20.08.3/plugins/lockdevice/lockdeviceplugin.h Examining data/kdeconnect-20.08.3/plugins/lockdevice/lockdeviceplugin.cpp Examining data/kdeconnect-20.08.3/plugins/sms/smsplugin.h Examining data/kdeconnect-20.08.3/plugins/sms/conversationsdbusinterface.cpp Examining data/kdeconnect-20.08.3/plugins/sms/smsplugin.cpp Examining data/kdeconnect-20.08.3/plugins/sms/requestconversationworker.h Examining data/kdeconnect-20.08.3/plugins/sms/conversationsdbusinterface.h Examining data/kdeconnect-20.08.3/plugins/sms/requestconversationworker.cpp Examining data/kdeconnect-20.08.3/plugins/bigscreen/bigscreenplugin.cpp Examining data/kdeconnect-20.08.3/plugins/bigscreen/bigscreenplugin.h Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayermediaplayer2.h Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayer.cpp Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayermediaplayer2player.h Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayermediaplayer2player.cpp Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayermediaplayer2.cpp Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplugin.cpp Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplayer.h Examining data/kdeconnect-20.08.3/plugins/mprisremote/mprisremoteplugin.h Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusicplugin.cpp Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusicplugin.h Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusic_config.h Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusicplugin-win.h Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusic_config.cpp Examining data/kdeconnect-20.08.3/plugins/pausemusic/pausemusicplugin-win.cpp Examining data/kdeconnect-20.08.3/plugins/clipboard/clipboardplugin.h Examining data/kdeconnect-20.08.3/plugins/clipboard/clipboardplugin.cpp Examining data/kdeconnect-20.08.3/plugins/clipboard/clipboardlistener.cpp Examining data/kdeconnect-20.08.3/plugins/clipboard/clipboardlistener.h Examining data/kdeconnect-20.08.3/plugins/photo/photoplugin.cpp Examining data/kdeconnect-20.08.3/plugins/photo/photoplugin.h Examining data/kdeconnect-20.08.3/plugins/remotesystemvolume/remotesystemvolumeplugin.cpp Examining data/kdeconnect-20.08.3/plugins/remotesystemvolume/remotesystemvolumeplugin.h Examining data/kdeconnect-20.08.3/plugins/sftp/sftpplugin-win.cpp Examining data/kdeconnect-20.08.3/plugins/sftp/sftpplugin-win.h Examining data/kdeconnect-20.08.3/plugins/sftp/mountloop.h Examining data/kdeconnect-20.08.3/plugins/sftp/sftpplugin.cpp Examining data/kdeconnect-20.08.3/plugins/sftp/mounter.h Examining data/kdeconnect-20.08.3/plugins/sftp/mountloop.cpp Examining data/kdeconnect-20.08.3/plugins/sftp/sftpplugin.h Examining data/kdeconnect-20.08.3/plugins/sftp/mounter.cpp Examining data/kdeconnect-20.08.3/plugins/battery/batterydbusinterface.cpp Examining data/kdeconnect-20.08.3/plugins/battery/batterydbusinterface.h Examining data/kdeconnect-20.08.3/plugins/battery/batteryplugin.cpp Examining data/kdeconnect-20.08.3/plugins/battery/batteryplugin.h Examining data/kdeconnect-20.08.3/plugins/remotekeyboard/remotekeyboardplugin.cpp Examining data/kdeconnect-20.08.3/plugins/remotekeyboard/remotekeyboardplugin.h Examining data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp Examining data/kdeconnect-20.08.3/plugins/share/shareplugin.h Examining data/kdeconnect-20.08.3/plugins/share/share_config.h Examining data/kdeconnect-20.08.3/plugins/share/share_config.cpp Examining data/kdeconnect-20.08.3/plugins/ping/pingplugin.cpp Examining data/kdeconnect-20.08.3/plugins/ping/pingplugin.h Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-win.h Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-macos.h Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-win.cpp Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-pulse.cpp Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-macos.cpp Examining data/kdeconnect-20.08.3/plugins/systemvolume/systemvolumeplugin-pulse.h Examining data/kdeconnect-20.08.3/plugins/mpriscontrol/mpriscontrolplugin.cpp Examining data/kdeconnect-20.08.3/plugins/mpriscontrol/mpriscontrolplugin.h Examining data/kdeconnect-20.08.3/plugins/mpriscontrol/mpriscontrolplugin-win.h Examining data/kdeconnect-20.08.3/plugins/mpriscontrol/mpriscontrolplugin-win.cpp Examining data/kdeconnect-20.08.3/plugins/findmyphone/findmyphoneplugin.cpp Examining data/kdeconnect-20.08.3/plugins/findmyphone/findmyphoneplugin.h Examining data/kdeconnect-20.08.3/plugins/remotecontrol/remotecontrolplugin.h Examining data/kdeconnect-20.08.3/plugins/remotecontrol/remotecontrolplugin.cpp Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin.h Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin-macos.h Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin.cpp Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin-macos.cpp Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin-win.cpp Examining data/kdeconnect-20.08.3/plugins/screensaver-inhibit/screensaverinhibitplugin-win.h Examining data/kdeconnect-20.08.3/plugins/telephony/telephonyplugin.h Examining data/kdeconnect-20.08.3/plugins/telephony/telephonyplugin.cpp Examining data/kdeconnect-20.08.3/plugins/findthisdevice/findthisdeviceplugin.h Examining data/kdeconnect-20.08.3/plugins/findthisdevice/findthisdevice_config.h Examining data/kdeconnect-20.08.3/plugins/findthisdevice/findthisdevice_config.cpp Examining data/kdeconnect-20.08.3/plugins/findthisdevice/findthisdeviceplugin.cpp Examining data/kdeconnect-20.08.3/plugins/runcommand/runcommand_config.cpp Examining data/kdeconnect-20.08.3/plugins/runcommand/runcommand_config.h Examining data/kdeconnect-20.08.3/plugins/runcommand/runcommandplugin.cpp Examining data/kdeconnect-20.08.3/plugins/runcommand/runcommandplugin.h Examining data/kdeconnect-20.08.3/indicator/deviceindicator.h Examining data/kdeconnect-20.08.3/indicator/deviceindicator.cpp Examining data/kdeconnect-20.08.3/indicator/indicatorhelper_win.cpp Examining data/kdeconnect-20.08.3/indicator/indicatorhelper_mac.cpp Examining data/kdeconnect-20.08.3/indicator/indicatorhelper.cpp Examining data/kdeconnect-20.08.3/indicator/indicatorhelper.h Examining data/kdeconnect-20.08.3/indicator/main.cpp Examining data/kdeconnect-20.08.3/indicator/serviceregister_mac.h FINAL RESULTS: data/kdeconnect-20.08.3/cli/kdeconnect-cli.cpp:296:23: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(in.open(stdin,QIODevice::ReadOnly | QIODevice::Unbuffered)) { data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothuploadjob.cpp:47:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!mData->open(QIODevice::ReadOnly)) { data/kdeconnect-20.08.3/core/backends/bluetooth/multiplexchannel.cpp:26:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). QIODevice::open(QIODevice::ReadWrite); data/kdeconnect-20.08.3/core/backends/lan/uploadjob.cpp:46:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!m_input->open(QIODevice::ReadOnly)) { data/kdeconnect-20.08.3/core/backends/loopback/loopbackdevicelink.cpp:43:35: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool b = input.payload()->open(QIODevice::ReadOnly); data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp:227:37: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (privKey.exists() && privKey.open(QIODevice::ReadOnly)) { data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp:254:31: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (cert.exists() && cert.open(QIODevice::ReadOnly)) { data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp:285:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!privKey.open(QIODevice::ReadWrite | QIODevice::Truncate)) { data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp:330:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!cert.open(QIODevice::ReadWrite | QIODevice::Truncate)) { data/kdeconnect-20.08.3/core/kdeconnectconfig.cpp:358:26: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!dbusAddressFile.open(QFile::ReadOnly | QFile::Text)) { data/kdeconnect-20.08.3/plugins/contacts/contactsplugin.cpp:119:24: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!vcardFile.open(QIODevice::ReadOnly)) { data/kdeconnect-20.08.3/plugins/contacts/contactsplugin.cpp:172:42: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool vcardFileOpened = vcardFile.open(QIODevice::WriteOnly); // Want to smash anything that might have already been there data/kdeconnect-20.08.3/plugins/findthisdevice/findthisdeviceplugin.h:60:5: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t infoBuf[INFO_BUFFER_SIZE]; data/kdeconnect-20.08.3/plugins/mousepad/x11remoteinput.cpp:98:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char map[20]; data/kdeconnect-20.08.3/plugins/sendnotifications/notificationslistener.cpp:155:29: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!buffer || !buffer->open(QIODevice::WriteOnly) || data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:89:49: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!receivedFile.exists() || !receivedFile.open(QIODevice::ReadWrite | QIODevice::Text)) { data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:134:68: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). connect(job, &KJob::result, this, [this, dateModified, open] (KJob* job) -> void { finished(job, dateModified, open); }); data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:134:124: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). connect(job, &KJob::result, this, [this, dateModified, open] (KJob* job) -> void { finished(job, dateModified, open); }); data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:142:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). file.open(QIODevice::WriteOnly); data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:161:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). tmpFile.open(); data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:180:77: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). void SharePlugin::finished(KJob* job, const qint64 dateModified, const bool open) data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:187:13: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open) { data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:200:50: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). void SharePlugin::shareUrl(const QUrl& url, bool open) data/kdeconnect-20.08.3/plugins/share/shareplugin.cpp:212:54: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). packet.set<bool>(QStringLiteral("open"), open); data/kdeconnect-20.08.3/plugins/share/shareplugin.h:58:68: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). void finished(KJob* job, const qint64 dateModified, const bool open); data/kdeconnect-20.08.3/plugins/share/shareplugin.h:59:41: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). void shareUrl(const QUrl& url, bool open); data/kdeconnect-20.08.3/tests/sendfiletest.cpp:76:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). temp.open(); data/kdeconnect-20.08.3/tests/sendfiletest.cpp:92:26: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). QVERIFY(file.open(QIODevice::ReadOnly)); data/kdeconnect-20.08.3/tests/sendfiletest.cpp:124:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f->open(QIODevice::ReadWrite); data/kdeconnect-20.08.3/tests/sendfiletest.cpp:143:32: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). QVERIFY(resultFile.open(QIODevice::ReadOnly)); data/kdeconnect-20.08.3/tests/sendfiletest.cpp:144:32: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). QVERIFY(originFile.open(QIODevice::ReadOnly)); data/kdeconnect-20.08.3/urlhandler/kdeconnect-handler.cpp:60:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool open; data/kdeconnect-20.08.3/urlhandler/kdeconnect-handler.cpp:94:44: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). } else if (urlToShare.isLocalFile() && open) { data/kdeconnect-20.08.3/urlhandler/kdeconnect-handler.cpp:112:36: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). const QString action = open && url.isLocalFile() ? QStringLiteral("openFile") : QStringLiteral("shareUrl"); data/kdeconnect-20.08.3/core/backends/bluetooth/bluetoothuploadjob.cpp:60:50: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int bytesWritten = mSocket->write(mData->read(bytes)); data/kdeconnect-20.08.3/core/backends/bluetooth/connectionmultiplexer.cpp:118:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray header = mSocket->read(19); data/kdeconnect-20.08.3/core/backends/bluetooth/connectionmultiplexer.cpp:137:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QByteArray data = mSocket->read(message_length); data/kdeconnect-20.08.3/core/backends/lan/uploadjob.cpp:72:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bytesUploading = m_socket->write(m_input->read(bytesToSend)); data/kdeconnect-20.08.3/interfaces/conversationmessage.cpp:48:77: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const qint32& type, const qint32& read, data/kdeconnect-20.08.3/interfaces/conversationmessage.cpp:57:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). , m_read(read) data/kdeconnect-20.08.3/interfaces/conversationmessage.h:63:79: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const qint64& date, const qint32& type, const qint32& read, data/kdeconnect-20.08.3/interfaces/conversationmessage.h:77:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). qint32 read() const { return m_read; } data/kdeconnect-20.08.3/interfaces/conversationmessage.h:169:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). << message.read() data/kdeconnect-20.08.3/interfaces/conversationmessage.h:184:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). qint32 read; data/kdeconnect-20.08.3/interfaces/conversationmessage.h:195:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). argument >> read; data/kdeconnect-20.08.3/interfaces/conversationmessage.h:201:71: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). message = ConversationMessage(event, body, addresses, date, type, read, threadID, uID, m_subID); ANALYSIS SUMMARY: Hits = 46 Lines analyzed = 28786 in approximately 0.98 seconds (29365 lines/second) Physical Source Lines of Code (SLOC) = 17739 Hits@level = [0] 1 [1] 12 [2] 34 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 47 [1+] 46 [2+] 34 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 2.64953 [1+] 2.59316 [2+] 1.91668 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 2 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.