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/qbittorrent-4.2.5/src/base/settingsstorage.cpp
Examining data/qbittorrent-4.2.5/src/base/filesystemwatcher.h
Examining data/qbittorrent-4.2.5/src/base/private/profile_p.h
Examining data/qbittorrent-4.2.5/src/base/private/profile_p.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_item.h
Examining data/qbittorrent-4.2.5/src/base/rss/private/rss_parser.h
Examining data/qbittorrent-4.2.5/src/base/rss/private/rss_parser.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_session.h
Examining data/qbittorrent-4.2.5/src/base/rss/rss_autodownloadrule.h
Examining data/qbittorrent-4.2.5/src/base/rss/rss_feed.h
Examining data/qbittorrent-4.2.5/src/base/rss/rss_folder.h
Examining data/qbittorrent-4.2.5/src/base/rss/rss_autodownloadrule.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_autodownloader.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_article.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_folder.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_item.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_session.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_autodownloader.h
Examining data/qbittorrent-4.2.5/src/base/rss/rss_feed.cpp
Examining data/qbittorrent-4.2.5/src/base/rss/rss_article.h
Examining data/qbittorrent-4.2.5/src/base/profile.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrentcreatorthread.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/nativesessionextension.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/resumedatasavingmanager.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/statistics.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/nativesessionextension.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/speedmonitor.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/portforwarderimpl.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/ltunderlyingtype.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/bandwidthscheduler.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/nativetorrentextension.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/bandwidthscheduler.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/resumedatasavingmanager.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/portforwarderimpl.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/statistics.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/nativetorrentextension.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/speedmonitor.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/downloadpriority.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrentinfo.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/peerinfo.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrentinfo.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrenthandleimpl.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrenthandle.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/trackerentry.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/addtorrentparams.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/infohash.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/cachestatus.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/magneturi.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrenthandle.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/peerinfo.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/session.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/sessionstatus.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrentcreatorthread.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/tracker.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/torrenthandleimpl.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/downloadpriority.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/session.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/peeraddress.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/infohash.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/peeraddress.h
Examining data/qbittorrent-4.2.5/src/base/bittorrent/magneturi.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/trackerentry.cpp
Examining data/qbittorrent-4.2.5/src/base/bittorrent/tracker.h
Examining data/qbittorrent-4.2.5/src/base/exceptions.h
Examining data/qbittorrent-4.2.5/src/base/logger.cpp
Examining data/qbittorrent-4.2.5/src/base/scanfoldersmodel.cpp
Examining data/qbittorrent-4.2.5/src/base/preferences.cpp
Examining data/qbittorrent-4.2.5/src/base/iconprovider.h
Examining data/qbittorrent-4.2.5/src/base/unicodestrings.h
Examining data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.h
Examining data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp
Examining data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp
Examining data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.h
Examining data/qbittorrent-4.2.5/src/base/net/geoipmanager.h
Examining data/qbittorrent-4.2.5/src/base/net/smtp.h
Examining data/qbittorrent-4.2.5/src/base/net/dnsupdater.h
Examining data/qbittorrent-4.2.5/src/base/net/smtp.cpp
Examining data/qbittorrent-4.2.5/src/base/net/proxyconfigurationmanager.cpp
Examining data/qbittorrent-4.2.5/src/base/net/geoipmanager.cpp
Examining data/qbittorrent-4.2.5/src/base/net/portforwarder.h
Examining data/qbittorrent-4.2.5/src/base/net/proxyconfigurationmanager.h
Examining data/qbittorrent-4.2.5/src/base/net/reverseresolution.h
Examining data/qbittorrent-4.2.5/src/base/net/downloadmanager.h
Examining data/qbittorrent-4.2.5/src/base/net/dnsupdater.cpp
Examining data/qbittorrent-4.2.5/src/base/net/reverseresolution.cpp
Examining data/qbittorrent-4.2.5/src/base/net/portforwarder.cpp
Examining data/qbittorrent-4.2.5/src/base/net/downloadmanager.cpp
Examining data/qbittorrent-4.2.5/src/base/torrentfilter.h
Examining data/qbittorrent-4.2.5/src/base/tristatebool.h
Examining data/qbittorrent-4.2.5/src/base/torrentfilter.cpp
Examining data/qbittorrent-4.2.5/src/base/torrentfileguard.cpp
Examining data/qbittorrent-4.2.5/src/base/torrentfileguard.h
Examining data/qbittorrent-4.2.5/src/base/scanfoldersmodel.h
Examining data/qbittorrent-4.2.5/src/base/indexrange.h
Examining data/qbittorrent-4.2.5/src/base/algorithm.h
Examining data/qbittorrent-4.2.5/src/base/settingvalue.h
Examining data/qbittorrent-4.2.5/src/base/asyncfilestorage.h
Examining data/qbittorrent-4.2.5/src/base/utils/fs.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/gzip.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/io.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/net.h
Examining data/qbittorrent-4.2.5/src/base/utils/misc.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/bytearray.h
Examining data/qbittorrent-4.2.5/src/base/utils/password.h
Examining data/qbittorrent-4.2.5/src/base/utils/password.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/foreignapps.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/string.h
Examining data/qbittorrent-4.2.5/src/base/utils/random.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/bytearray.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/gzip.h
Examining data/qbittorrent-4.2.5/src/base/utils/string.cpp
Examining data/qbittorrent-4.2.5/src/base/utils/random.h
Examining data/qbittorrent-4.2.5/src/base/utils/foreignapps.h
Examining data/qbittorrent-4.2.5/src/base/utils/io.h
Examining data/qbittorrent-4.2.5/src/base/utils/fs.h
Examining data/qbittorrent-4.2.5/src/base/utils/misc.h
Examining data/qbittorrent-4.2.5/src/base/utils/version.h
Examining data/qbittorrent-4.2.5/src/base/utils/net.cpp
Examining data/qbittorrent-4.2.5/src/base/settingsstorage.h
Examining data/qbittorrent-4.2.5/src/base/iconprovider.cpp
Examining data/qbittorrent-4.2.5/src/base/search/searchpluginmanager.h
Examining data/qbittorrent-4.2.5/src/base/search/searchhandler.cpp
Examining data/qbittorrent-4.2.5/src/base/search/searchdownloadhandler.cpp
Examining data/qbittorrent-4.2.5/src/base/search/searchhandler.h
Examining data/qbittorrent-4.2.5/src/base/search/searchpluginmanager.cpp
Examining data/qbittorrent-4.2.5/src/base/search/searchdownloadhandler.h
Examining data/qbittorrent-4.2.5/src/base/global.h
Examining data/qbittorrent-4.2.5/src/base/logger.h
Examining data/qbittorrent-4.2.5/src/base/types.h
Examining data/qbittorrent-4.2.5/src/base/exceptions.cpp
Examining data/qbittorrent-4.2.5/src/base/profile.h
Examining data/qbittorrent-4.2.5/src/base/http/requestparser.cpp
Examining data/qbittorrent-4.2.5/src/base/http/responsebuilder.h
Examining data/qbittorrent-4.2.5/src/base/http/requestparser.h
Examining data/qbittorrent-4.2.5/src/base/http/connection.cpp
Examining data/qbittorrent-4.2.5/src/base/http/responsebuilder.cpp
Examining data/qbittorrent-4.2.5/src/base/http/connection.h
Examining data/qbittorrent-4.2.5/src/base/http/responsegenerator.h
Examining data/qbittorrent-4.2.5/src/base/http/responsegenerator.cpp
Examining data/qbittorrent-4.2.5/src/base/http/httperror.cpp
Examining data/qbittorrent-4.2.5/src/base/http/httperror.h
Examining data/qbittorrent-4.2.5/src/base/http/server.h
Examining data/qbittorrent-4.2.5/src/base/http/types.h
Examining data/qbittorrent-4.2.5/src/base/http/irequesthandler.h
Examining data/qbittorrent-4.2.5/src/base/http/server.cpp
Examining data/qbittorrent-4.2.5/src/base/asyncfilestorage.cpp
Examining data/qbittorrent-4.2.5/src/base/tristatebool.cpp
Examining data/qbittorrent-4.2.5/src/base/filesystemwatcher.cpp
Examining data/qbittorrent-4.2.5/src/base/preferences.h
Examining data/qbittorrent-4.2.5/src/webui/webapplication.h
Examining data/qbittorrent-4.2.5/src/webui/api/freediskspacechecker.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/transfercontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/appcontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/apierror.h
Examining data/qbittorrent-4.2.5/src/webui/api/appcontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/isessionmanager.h
Examining data/qbittorrent-4.2.5/src/webui/api/synccontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/torrentscontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/rsscontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/apicontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/apicontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/apierror.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/logcontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/torrentscontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/authcontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/transfercontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/searchcontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/rsscontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/authcontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/freediskspacechecker.h
Examining data/qbittorrent-4.2.5/src/webui/api/synccontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/logcontroller.h
Examining data/qbittorrent-4.2.5/src/webui/api/serialize/serialize_torrent.cpp
Examining data/qbittorrent-4.2.5/src/webui/api/serialize/serialize_torrent.h
Examining data/qbittorrent-4.2.5/src/webui/api/searchcontroller.cpp
Examining data/qbittorrent-4.2.5/src/webui/webapplication.cpp
Examining data/qbittorrent-4.2.5/src/webui/webui.cpp
Examining data/qbittorrent-4.2.5/src/webui/webui.h
Examining data/qbittorrent-4.2.5/src/gui/mainwindow.cpp
Examining data/qbittorrent-4.2.5/src/gui/private/fspathedit_p.h
Examining data/qbittorrent-4.2.5/src/gui/private/fspathedit_p.cpp
Examining data/qbittorrent-4.2.5/src/gui/private/tristatewidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/private/tristatewidget.h
Examining data/qbittorrent-4.2.5/src/gui/raisedmessagebox.cpp
Examining data/qbittorrent-4.2.5/src/gui/banlistoptionsdialog.h
Examining data/qbittorrent-4.2.5/src/gui/deletionconfirmationdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelfile.cpp
Examining data/qbittorrent-4.2.5/src/gui/cookiesdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/categoryfiltermodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/rss/feedlistwidget.h
Examining data/qbittorrent-4.2.5/src/gui/rss/automatedrssdownloader.cpp
Examining data/qbittorrent-4.2.5/src/gui/rss/articlelistwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/rss/rsswidget.h
Examining data/qbittorrent-4.2.5/src/gui/rss/htmlbrowser.h
Examining data/qbittorrent-4.2.5/src/gui/rss/articlelistwidget.h
Examining data/qbittorrent-4.2.5/src/gui/rss/automatedrssdownloader.h
Examining data/qbittorrent-4.2.5/src/gui/rss/rsswidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/rss/htmlbrowser.cpp
Examining data/qbittorrent-4.2.5/src/gui/rss/feedlistwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/updownratiodialog.h
Examining data/qbittorrent-4.2.5/src/gui/transferlistwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcategorydialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/categoryfilterwidget.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelfile.h
Examining data/qbittorrent-4.2.5/src/gui/cookiesmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/transferlistfilterswidget.h
Examining data/qbittorrent-4.2.5/src/gui/utils.cpp
Examining data/qbittorrent-4.2.5/src/gui/transferlistdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/shutdownconfirmdialog.h
Examining data/qbittorrent-4.2.5/src/gui/transferlistdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/executionlogwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/utils.h
Examining data/qbittorrent-4.2.5/src/gui/scanfoldersdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/statsdialog.h
Examining data/qbittorrent-4.2.5/src/gui/tagfiltermodel.h
Examining data/qbittorrent-4.2.5/src/gui/cookiesdialog.h
Examining data/qbittorrent-4.2.5/src/gui/addnewtorrentdialog.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcategorydialog.h
Examining data/qbittorrent-4.2.5/src/gui/transferlistsortmodel.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentfiltermodel.h
Examining data/qbittorrent-4.2.5/src/gui/aboutdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/log/logfiltermodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/log/loglistview.cpp
Examining data/qbittorrent-4.2.5/src/gui/log/logfiltermodel.h
Examining data/qbittorrent-4.2.5/src/gui/log/logmodel.h
Examining data/qbittorrent-4.2.5/src/gui/log/logmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/log/loglistview.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcreatordialog.h
Examining data/qbittorrent-4.2.5/src/gui/programupdater.h
Examining data/qbittorrent-4.2.5/src/gui/tagfilterproxymodel.h
Examining data/qbittorrent-4.2.5/src/gui/speedlimitdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcreatordialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/cookiesmodel.h
Examining data/qbittorrent-4.2.5/src/gui/fspathedit.h
Examining data/qbittorrent-4.2.5/src/gui/trackerentriesdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/categoryfilterproxymodel.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelitem.h
Examining data/qbittorrent-4.2.5/src/gui/lineedit.h
Examining data/qbittorrent-4.2.5/src/gui/uithememanager.cpp
Examining data/qbittorrent-4.2.5/src/gui/addnewtorrentdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/fspathedit.cpp
Examining data/qbittorrent-4.2.5/src/gui/updownratiodialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/executionlogwidget.h
Examining data/qbittorrent-4.2.5/src/gui/uithememanager.h
Examining data/qbittorrent-4.2.5/src/gui/raisedmessagebox.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentfiltermodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/macutilities.h
Examining data/qbittorrent-4.2.5/src/gui/categoryfiltermodel.h
Examining data/qbittorrent-4.2.5/src/gui/ipsubnetwhitelistoptionsdialog.h
Examining data/qbittorrent-4.2.5/src/gui/advancedsettings.cpp
Examining data/qbittorrent-4.2.5/src/gui/transferlistmodel.h
Examining data/qbittorrent-4.2.5/src/gui/tagfilterwidget.h
Examining data/qbittorrent-4.2.5/src/gui/previewselectdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/tagfilterwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelfolder.h
Examining data/qbittorrent-4.2.5/src/gui/statusbar.h
Examining data/qbittorrent-4.2.5/src/gui/optionsdialog.h
Examining data/qbittorrent-4.2.5/src/gui/previewselectdialog.h
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peersadditiondialog.h
Examining data/qbittorrent-4.2.5/src/gui/properties/trackersadditiondialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/proptabbar.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/trackersadditiondialog.h
Examining data/qbittorrent-4.2.5/src/gui/properties/pieceavailabilitybar.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/propertieswidget.h
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistsortmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/pieceavailabilitybar.h
Examining data/qbittorrent-4.2.5/src/gui/properties/trackerlistwidget.h
Examining data/qbittorrent-4.2.5/src/gui/properties/speedplotview.h
Examining data/qbittorrent-4.2.5/src/gui/properties/speedplotview.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peersadditiondialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/properties/trackerlistwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/proplistdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/proplistdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/properties/downloadedpiecesbar.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistsortmodel.h
Examining data/qbittorrent-4.2.5/src/gui/properties/piecesbar.h
Examining data/qbittorrent-4.2.5/src/gui/properties/downloadedpiecesbar.h
Examining data/qbittorrent-4.2.5/src/gui/properties/speedwidget.h
Examining data/qbittorrent-4.2.5/src/gui/properties/proptabbar.h
Examining data/qbittorrent-4.2.5/src/gui/properties/propertieswidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/piecesbar.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/speedwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/properties/peerlistwidget.h
Examining data/qbittorrent-4.2.5/src/gui/programupdater.cpp
Examining data/qbittorrent-4.2.5/src/gui/previewlistdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/categoryfilterproxymodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/hidabletabwidget.h
Examining data/qbittorrent-4.2.5/src/gui/scanfoldersdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/powermanagement/powermanagement_x11.h
Examining data/qbittorrent-4.2.5/src/gui/powermanagement/powermanagement.cpp
Examining data/qbittorrent-4.2.5/src/gui/powermanagement/powermanagement.h
Examining data/qbittorrent-4.2.5/src/gui/powermanagement/powermanagement_x11.cpp
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodel.h
Examining data/qbittorrent-4.2.5/src/gui/transferlistsortmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/transferlistfilterswidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/downloadfromurldialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/categoryfilterwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/transferlistmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/tagfilterproxymodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/pluginselectdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/pluginsourcedialog.h
Examining data/qbittorrent-4.2.5/src/gui/search/searchlistdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/search/pluginsourcedialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/searchjobwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/searchlistdelegate.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/searchwidget.h
Examining data/qbittorrent-4.2.5/src/gui/search/pluginselectdialog.h
Examining data/qbittorrent-4.2.5/src/gui/search/searchsortmodel.h
Examining data/qbittorrent-4.2.5/src/gui/search/searchsortmodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/searchwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/search/searchjobwidget.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontenttreeview.h
Examining data/qbittorrent-4.2.5/src/gui/aboutdialog.h
Examining data/qbittorrent-4.2.5/src/gui/statsdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/shutdownconfirmdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/lineedit.cpp
Examining data/qbittorrent-4.2.5/src/gui/tagfiltermodel.cpp
Examining data/qbittorrent-4.2.5/src/gui/advancedsettings.h
Examining data/qbittorrent-4.2.5/src/gui/previewlistdelegate.h
Examining data/qbittorrent-4.2.5/src/gui/statusbar.cpp
Examining data/qbittorrent-4.2.5/src/gui/ipsubnetwhitelistoptionsdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/banlistoptionsdialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/hidabletabwidget.cpp
Examining data/qbittorrent-4.2.5/src/gui/speedlimitdialog.h
Examining data/qbittorrent-4.2.5/src/gui/trackerentriesdialog.h
Examining data/qbittorrent-4.2.5/src/gui/downloadfromurldialog.h
Examining data/qbittorrent-4.2.5/src/gui/transferlistwidget.h
Examining data/qbittorrent-4.2.5/src/gui/autoexpandabledialog.cpp
Examining data/qbittorrent-4.2.5/src/gui/qtnotify/notifications.cpp
Examining data/qbittorrent-4.2.5/src/gui/qtnotify/notifications.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelfolder.cpp
Examining data/qbittorrent-4.2.5/src/gui/mainwindow.h
Examining data/qbittorrent-4.2.5/src/gui/tristateaction.h
Examining data/qbittorrent-4.2.5/src/gui/autoexpandabledialog.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontentmodelitem.cpp
Examining data/qbittorrent-4.2.5/src/gui/deletionconfirmationdialog.h
Examining data/qbittorrent-4.2.5/src/gui/torrentcontenttreeview.cpp
Examining data/qbittorrent-4.2.5/src/gui/tristateaction.cpp
Examining data/qbittorrent-4.2.5/src/app/filelogger.h
Examining data/qbittorrent-4.2.5/src/app/upgrade.cpp
Examining data/qbittorrent-4.2.5/src/app/stacktracedialog.cpp
Examining data/qbittorrent-4.2.5/src/app/application.cpp
Examining data/qbittorrent-4.2.5/src/app/application.h
Examining data/qbittorrent-4.2.5/src/app/stacktrace_win.h
Examining data/qbittorrent-4.2.5/src/app/main.cpp
Examining data/qbittorrent-4.2.5/src/app/applicationinstancemanager.cpp
Examining data/qbittorrent-4.2.5/src/app/cmdoptions.h
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile_win.cpp
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile.h
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlocalpeer.h
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile.cpp
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlocalpeer.cpp
Examining data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile_unix.cpp
Examining data/qbittorrent-4.2.5/src/app/stacktrace.h
Examining data/qbittorrent-4.2.5/src/app/applicationinstancemanager.h
Examining data/qbittorrent-4.2.5/src/app/stacktracedialog.h
Examining data/qbittorrent-4.2.5/src/app/filelogger.cpp
Examining data/qbittorrent-4.2.5/src/app/upgrade.h
Examining data/qbittorrent-4.2.5/src/app/cmdoptions.cpp

FINAL RESULTS:

data/qbittorrent-4.2.5/src/base/bittorrent/torrenthandleimpl.cpp:504:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    catch (const boost::system::system_error &err) {
data/qbittorrent-4.2.5/src/base/preferences.cpp:100:45:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    return (localeName.isEmpty() ? QLocale::system().name() : localeName);
data/qbittorrent-4.2.5/src/base/utils/string.cpp:174:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    return QLocale::system().toString(std::floor(n * prec) / prec, 'f', precision);
data/qbittorrent-4.2.5/src/gui/properties/speedplotview.cpp:112:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        return QLocale::system().toString(argValue, 'f', precision)
data/qbittorrent-4.2.5/src/app/filelogger.cpp:170: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_logFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)
data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlocalpeer.cpp:132:14:  [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).
    lockFile.open(QIODevice::ReadWrite);
data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile.cpp:151: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).
bool QtLockedFile::open(const OpenMode mode)
data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile.cpp:157:19:  [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).
    return QFile::open(mode);
data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlockedfile.h:94:14:  [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(OpenMode mode) override;
data/qbittorrent-4.2.5/src/app/upgrade.cpp:52: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 (!file.open(QIODevice::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/asyncfilestorage.cpp:45: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).
    if (!m_lockFile.open(QFile::WriteOnly))
data/qbittorrent-4.2.5/src/base/asyncfilestorage.cpp:76:14:  [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 (file.open(QIODevice::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:127: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:274: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 (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:435: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:442:5:  [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.
    char buf[7];
data/qbittorrent-4.2.5/src/base/bittorrent/private/resumedatasavingmanager.cpp:51: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 (!file.open(QIODevice::WriteOnly) || (file.write(data) != data.size()) || !file.commit()) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/resumedatasavingmanager.cpp:62: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 (!file.open(QIODevice::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/session.cpp:141:19:  [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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/session.cpp:176: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 (file.open(QIODevice::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/session.cpp:4115:34:  [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_resumeFolderLock->open(QFile::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/session.cpp:4299: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 (queueFile.open(QFile::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/torrentcreatorthread.cpp:188:22:  [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 (!outfile.open(QIODevice::WriteOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/torrentinfo.cpp:126: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/bittorrent/torrentinfo.cpp:171:22:  [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 (!torrentFile.open(QIODevice::WriteOnly))
data/qbittorrent-4.2.5/src/base/net/geoipmanager.cpp:446: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 (!targetFile.open(QFile::WriteOnly) || (targetFile.write(data) == -1))
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:45:24:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
        QTemporaryFile tmpfile {Utils::Fs::tempPath() + "XXXXXX"};
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:46:9:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
        tmpfile.setAutoRemove(false);
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:48:14:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
        if (!tmpfile.open())
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:48:22:  [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 (!tmpfile.open())
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:51:20:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
        filePath = tmpfile.fileName();
data/qbittorrent-4.2.5/src/base/net/private/downloadhandlerimpl.cpp:53:9:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
        tmpfile.write(replyData);
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:42:11:  [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.
    const char DATA_SECTION_SEPARATOR[16] = {0};
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:96: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 (!file.open(QFile::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:128:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(reinterpret_cast<char *>(db->m_data), data.constData(), db->m_size);
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:173:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&idPtr[4 - m_recordBytes], ptr, m_recordBytes);
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.h:80:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(dst, data, len);
data/qbittorrent-4.2.5/src/base/net/smtp.cpp:531:5:  [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.
    char buf[11] = {0};
data/qbittorrent-4.2.5/src/base/rss/rss_autodownloader.cpp:416: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).
    else if (rulesFile.open(QFile::ReadOnly))
data/qbittorrent-4.2.5/src/base/rss/rss_feed.cpp:257:19:  [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 (file.open(QFile::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/rss/rss_session.cpp:256: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 (!itemsFile.open(QFile::ReadOnly)) {
data/qbittorrent-4.2.5/src/base/scanfoldersmodel.cpp:363:19:  [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 (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/base/search/searchpluginmanager.cpp:394: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).
    packageFile.open(QIODevice::WriteOnly);
data/qbittorrent-4.2.5/src/base/search/searchpluginmanager.cpp:400: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).
    packageFile2.open(QIODevice::WriteOnly);
data/qbittorrent-4.2.5/src/base/search/searchpluginmanager.cpp:535: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).
    if (!pluginFile.open(QIODevice::ReadOnly | QIODevice::Text))
data/qbittorrent-4.2.5/src/base/utils/fs.cpp:219: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 (!f1.open(QIODevice::ReadOnly)) return false;
data/qbittorrent-4.2.5/src/base/utils/fs.cpp:220: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 (!f2.open(QIODevice::ReadOnly)) return false;
data/qbittorrent-4.2.5/src/base/utils/random.cpp:97:26:  [2] (misc) fopen:
  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).
            : m_randDev {fopen("/dev/urandom", "rb")}
data/qbittorrent-4.2.5/src/gui/aboutdialog.cpp:72: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 (thanksfile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/gui/aboutdialog.cpp:79:25:  [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 (translatorsfile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/gui/aboutdialog.cpp:86: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).
    if (licensefile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/gui/addnewtorrentdialog.cpp:684: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).
            open();
data/qbittorrent-4.2.5/src/gui/addnewtorrentdialog.cpp:690: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).
            open();
data/qbittorrent-4.2.5/src/gui/mainwindow.cpp:585:19:  [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).
    cookieDialog->open();
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:521: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).
        downloader->open();
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1700: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1724: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1809: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).
    dialog->open();
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1817: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).
    dialog->open();
data/qbittorrent-4.2.5/src/gui/properties/trackersadditiondialog.cpp:107:12:  [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).
    buffer.open(QBuffer::ReadOnly);
data/qbittorrent-4.2.5/src/gui/rss/automatedrssdownloader.cpp:435: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 (!file.open(QFile::WriteOnly)
data/qbittorrent-4.2.5/src/gui/rss/automatedrssdownloader.cpp:453: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/gui/rss/rsswidget.cpp:529: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).
    downloader->open();
data/qbittorrent-4.2.5/src/gui/torrentcategorydialog.cpp:101: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).
    dialog->open();
data/qbittorrent-4.2.5/src/gui/transferlistwidget.cpp:596: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).
        dialog->open();
data/qbittorrent-4.2.5/src/gui/transferlistwidget.cpp:618: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).
        dialog->open();
data/qbittorrent-4.2.5/src/gui/transferlistwidget.cpp:814: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).
    dialog->open();
data/qbittorrent-4.2.5/src/gui/transferlistwidget.cpp:948: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).
    trackerDialog->open();
data/qbittorrent-4.2.5/src/gui/uithememanager.cpp:81: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 (!qssFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/qbittorrent-4.2.5/src/webui/webapplication.cpp:399: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 (!file.open(QIODevice::ReadOnly)) {
data/qbittorrent-4.2.5/src/webui/webui.cpp:87:27:  [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 (!file.open(QIODevice::ReadOnly))
data/qbittorrent-4.2.5/src/app/main.cpp:301:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    const size_t strLen = strlen(str);
data/qbittorrent-4.2.5/src/app/main.cpp:407:22:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const char ret = getchar(); // Read pressed key
data/qbittorrent-4.2.5/src/app/qtlocalpeer/qtlocalpeer.cpp:188:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            res &= (socket.read(qstrlen(ack)) == ack);
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:146:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bytesRead = file.read(buffer.data() + offset, BUFFER_SIZE - offset - 1);
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:293:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bytesRead = file.read(buffer.data() + offset, BUFFER_SIZE - offset - 1);
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:409:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int read;
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:412:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        totalRead += read;
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:413:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read > 0) {
data/qbittorrent-4.2.5/src/base/bittorrent/private/filterparserthread.cpp:423:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (read > 0);
data/qbittorrent-4.2.5/src/base/http/connection.cpp:49:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    connect(m_socket, &QTcpSocket::readyRead, this, &Connection::read);
data/qbittorrent-4.2.5/src/base/http/connection.cpp:57:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void Connection::read()
data/qbittorrent-4.2.5/src/base/http/connection.h:57:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        void read();
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:103:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (file.read(reinterpret_cast<char *>(db->m_data), db->m_size) != db->m_size) {
data/qbittorrent-4.2.5/src/base/net/private/geoipdatabase.cpp:295:52:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        auto offset = static_cast<quint32>(index + strlen(METADATA_BEGIN_MARK));
data/qbittorrent-4.2.5/src/base/rss/rss_article.cpp:132:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        emit read(this);
data/qbittorrent-4.2.5/src/base/rss/rss_article.h:80:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        void read(Article *article = nullptr);
data/qbittorrent-4.2.5/src/base/rss/rss_feed.cpp:358:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        connect(article, &Article::read, this, &Feed::handleArticleRead);
data/qbittorrent-4.2.5/src/base/settingsstorage.cpp:54:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        QVariantHash read() const;
data/qbittorrent-4.2.5/src/base/settingsstorage.cpp:155:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : m_data{TransactionalSettings(QLatin1String("qBittorrent")).read()}
data/qbittorrent-4.2.5/src/base/settingsstorage.cpp:231:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
QVariantHash TransactionalSettings::read() const
data/qbittorrent-4.2.5/src/base/utils/fs.cpp:224:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (f1.read(readSize) != f2.read(readSize))
data/qbittorrent-4.2.5/src/base/utils/fs.cpp:224:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (f1.read(readSize) != f2.read(readSize))
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1706:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!Utils::Net::isSSLCertificatesValid(file.read(Utils::Net::MAX_SSL_FILE_SIZE))) {
data/qbittorrent-4.2.5/src/gui/optionsdialog.cpp:1730:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!Utils::Net::isSSLKeyValid(file.read(Utils::Net::MAX_SSL_FILE_SIZE))) {
data/qbittorrent-4.2.5/src/webui/webui.cpp:89:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                return file.read(Utils::Net::MAX_SSL_FILE_SIZE);

ANALYSIS SUMMARY:

Hits = 96
Lines analyzed = 72594 in approximately 1.98 seconds (36606 lines/second)
Physical Source Lines of Code (SLOC) = 49496
Hits@level = [0]  17 [1]  25 [2]  67 [3]   0 [4]   4 [5]   0
Hits@level+ = [0+] 113 [1+]  96 [2+]  71 [3+]   4 [4+]   4 [5+]   0
Hits/KSLOC@level+ = [0+] 2.28301 [1+] 1.93955 [2+] 1.43446 [3+] 0.0808146 [4+] 0.0808146 [5+]   0
Dot directories skipped = 3 (--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.