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.