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/minitube-3.6.1/lib/idle/src/idle.h
Examining data/minitube-3.6.1/lib/idle/src/idle_linux.cpp
Examining data/minitube-3.6.1/lib/idle/src/idle_mac.cpp
Examining data/minitube-3.6.1/lib/idle/src/idle_win.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/appcastparser.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/defaultupdater.h
Examining data/minitube-3.6.1/lib/updater/src/impl/dialog.h
Examining data/minitube-3.6.1/lib/updater/src/impl/appcastparser.h
Examining data/minitube-3.6.1/lib/updater/src/impl/parser.h
Examining data/minitube-3.6.1/lib/updater/src/impl/downloader.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/dialog.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/runinstaller.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/checker.h
Examining data/minitube-3.6.1/lib/updater/src/impl/defaultupdater.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/installer.h
Examining data/minitube-3.6.1/lib/updater/src/impl/downloader.h
Examining data/minitube-3.6.1/lib/updater/src/impl/runinstaller.h
Examining data/minitube-3.6.1/lib/updater/src/impl/checker.cpp
Examining data/minitube-3.6.1/lib/updater/src/impl/simplexmlparser.h
Examining data/minitube-3.6.1/lib/updater/src/impl/simplexmlparser.cpp
Examining data/minitube-3.6.1/lib/updater/src/updater.cpp
Examining data/minitube-3.6.1/lib/updater/src/updater.h
Examining data/minitube-3.6.1/lib/updater/src/sparkle/sparkleupdater.h
Examining data/minitube-3.6.1/lib/http/src/throttledhttp.cpp
Examining data/minitube-3.6.1/lib/http/src/http.h
Examining data/minitube-3.6.1/lib/http/src/httpreply.h
Examining data/minitube-3.6.1/lib/http/src/cachedhttp.h
Examining data/minitube-3.6.1/lib/http/src/localcache.h
Examining data/minitube-3.6.1/lib/http/src/networkhttpreply.cpp
Examining data/minitube-3.6.1/lib/http/src/localcache.cpp
Examining data/minitube-3.6.1/lib/http/src/http.cpp
Examining data/minitube-3.6.1/lib/http/src/httprequest.h
Examining data/minitube-3.6.1/lib/http/src/httpreply.cpp
Examining data/minitube-3.6.1/lib/http/src/cachedhttp.cpp
Examining data/minitube-3.6.1/lib/http/src/networkhttpreply.h
Examining data/minitube-3.6.1/lib/http/src/throttledhttp.h
Examining data/minitube-3.6.1/lib/media/src/media.h
Examining data/minitube-3.6.1/lib/media/src/mpv/mpvwidget.cpp
Examining data/minitube-3.6.1/lib/media/src/mpv/mpvwidget.h
Examining data/minitube-3.6.1/lib/media/src/mpv/mediampv.h
Examining data/minitube-3.6.1/lib/media/src/mpv/qthelper.hpp
Examining data/minitube-3.6.1/lib/media/src/mpv/mediampv.cpp
Examining data/minitube-3.6.1/lib/media/src/qtav/mediaqtav.cpp
Examining data/minitube-3.6.1/lib/media/src/qtav/mediaqtav.h
Examining data/minitube-3.6.1/src/globalshortcutbackend.cpp
Examining data/minitube-3.6.1/src/videodefinition.cpp
Examining data/minitube-3.6.1/src/autocomplete.cpp
Examining data/minitube-3.6.1/src/searchparams.h
Examining data/minitube-3.6.1/src/ytregions.cpp
Examining data/minitube-3.6.1/src/playlistmodel.cpp
Examining data/minitube-3.6.1/src/minisplitter.h
Examining data/minitube-3.6.1/src/snapshotpreview.h
Examining data/minitube-3.6.1/src/searchlineedit.cpp
Examining data/minitube-3.6.1/src/channellistview.h
Examining data/minitube-3.6.1/src/segmentedcontrol.cpp
Examining data/minitube-3.6.1/src/searchwidget.h
Examining data/minitube-3.6.1/src/ytjs/ytjssinglevideosource.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjsnamfactory.h
Examining data/minitube-3.6.1/src/ytjs/ytjschannel.h
Examining data/minitube-3.6.1/src/ytjs/ytjsnamfactory.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjs.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjs.h
Examining data/minitube-3.6.1/src/ytjs/ytjssearch.h
Examining data/minitube-3.6.1/src/ytjs/ytjssearch.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjsvideo.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjssinglevideosource.h
Examining data/minitube-3.6.1/src/ytjs/ytjschannelsource.h
Examining data/minitube-3.6.1/src/ytjs/ytjschannel.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjschannelsource.cpp
Examining data/minitube-3.6.1/src/ytjs/ytjsvideo.h
Examining data/minitube-3.6.1/src/appwidget.cpp
Examining data/minitube-3.6.1/src/sidebarheader.cpp
Examining data/minitube-3.6.1/src/channelsview.h
Examining data/minitube-3.6.1/src/downloadsettings.cpp
Examining data/minitube-3.6.1/src/channelitemdelegate.cpp
Examining data/minitube-3.6.1/src/httputils.h
Examining data/minitube-3.6.1/src/iconutils.h
Examining data/minitube-3.6.1/src/channelaggregator.h
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlockedfile_win.cpp
Examining data/minitube-3.6.1/src/qtsingleapplication/qtsingleapplication.h
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlocalpeer.h
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlocalpeer.cpp
Examining data/minitube-3.6.1/src/qtsingleapplication/qtsinglecoreapplication.h
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlockedfile_unix.cpp
Examining data/minitube-3.6.1/src/qtsingleapplication/qtsinglecoreapplication.cpp
Examining data/minitube-3.6.1/src/qtsingleapplication/qtsingleapplication.cpp
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlockedfile.h
Examining data/minitube-3.6.1/src/qtsingleapplication/qtlockedfile.cpp
Examining data/minitube-3.6.1/src/ytsinglevideosource.cpp
Examining data/minitube-3.6.1/src/ytvideo.cpp
Examining data/minitube-3.6.1/src/mainwindow.h
Examining data/minitube-3.6.1/src/yt3.cpp
Examining data/minitube-3.6.1/src/regionsview.h
Examining data/minitube-3.6.1/src/downloadmanager.h
Examining data/minitube-3.6.1/src/mediaview.cpp
Examining data/minitube-3.6.1/src/globalshortcuts.cpp
Examining data/minitube-3.6.1/src/spacer.h
Examining data/minitube-3.6.1/src/sharetoolbar.cpp
Examining data/minitube-3.6.1/src/channelview.h
Examining data/minitube-3.6.1/src/loadingwidget.h
Examining data/minitube-3.6.1/src/channelaggregator.cpp
Examining data/minitube-3.6.1/src/aboutview.h
Examining data/minitube-3.6.1/src/ytregions.h
Examining data/minitube-3.6.1/src/channelsview.cpp
Examining data/minitube-3.6.1/src/yt3.h
Examining data/minitube-3.6.1/src/paginatedvideosource.h
Examining data/minitube-3.6.1/src/searchview.cpp
Examining data/minitube-3.6.1/src/toolbarmenu.cpp
Examining data/minitube-3.6.1/src/ytchannel.cpp
Examining data/minitube-3.6.1/src/messagebar.h
Examining data/minitube-3.6.1/src/channelitemdelegate.h
Examining data/minitube-3.6.1/src/downloaditem.h
Examining data/minitube-3.6.1/src/playlistmodel.h
Examining data/minitube-3.6.1/src/clickablelabel.cpp
Examining data/minitube-3.6.1/src/standardfeedsview.h
Examining data/minitube-3.6.1/src/standardfeedsview.cpp
Examining data/minitube-3.6.1/src/constants.cpp
Examining data/minitube-3.6.1/src/ytchannel.h
Examining data/minitube-3.6.1/src/videoarea.cpp
Examining data/minitube-3.6.1/src/videomimedata.h
Examining data/minitube-3.6.1/src/sidebarwidget.h
Examining data/minitube-3.6.1/src/sidebarwidget.cpp
Examining data/minitube-3.6.1/src/httputils.cpp
Examining data/minitube-3.6.1/src/gridwidget.h
Examining data/minitube-3.6.1/src/playlistsuggest.cpp
Examining data/minitube-3.6.1/src/videosourcewidget.h
Examining data/minitube-3.6.1/src/downloadview.h
Examining data/minitube-3.6.1/src/updateutils.cpp
Examining data/minitube-3.6.1/src/downloadlistview.h
Examining data/minitube-3.6.1/src/channelsuggest.h
Examining data/minitube-3.6.1/src/homeview.cpp
Examining data/minitube-3.6.1/src/downloadmodel.h
Examining data/minitube-3.6.1/src/refinesearchwidget.h
Examining data/minitube-3.6.1/src/video.cpp
Examining data/minitube-3.6.1/src/view.h
Examining data/minitube-3.6.1/src/sidebarheader.h
Examining data/minitube-3.6.1/src/channelsitemdelegate.cpp
Examining data/minitube-3.6.1/src/messagebar.cpp
Examining data/minitube-3.6.1/src/channelsitemdelegate.h
Examining data/minitube-3.6.1/src/datautils.cpp
Examining data/minitube-3.6.1/src/updateutils.h
Examining data/minitube-3.6.1/src/videosource.cpp
Examining data/minitube-3.6.1/src/snapshotsettings.cpp
Examining data/minitube-3.6.1/src/homeview.h
Examining data/minitube-3.6.1/src/mainwindow.cpp
Examining data/minitube-3.6.1/src/playlistview.h
Examining data/minitube-3.6.1/src/mediaview.h
Examining data/minitube-3.6.1/src/diskcache.h
Examining data/minitube-3.6.1/src/segmentedcontrol.h
Examining data/minitube-3.6.1/src/constants.h
Examining data/minitube-3.6.1/src/playlistitemdelegate.h
Examining data/minitube-3.6.1/src/waitingspinnerwidget.h
Examining data/minitube-3.6.1/src/database.cpp
Examining data/minitube-3.6.1/src/channelwidget.cpp
Examining data/minitube-3.6.1/src/waitingspinnerwidget.cpp
Examining data/minitube-3.6.1/src/playlistsuggest.h
Examining data/minitube-3.6.1/src/clickablelabel.h
Examining data/minitube-3.6.1/src/globalshortcutbackend.h
Examining data/minitube-3.6.1/src/minisplitter.cpp
Examining data/minitube-3.6.1/src/snapshotsettings.h
Examining data/minitube-3.6.1/src/refinesearchwidget.cpp
Examining data/minitube-3.6.1/src/appwidget.h
Examining data/minitube-3.6.1/src/yt3listparser.h
Examining data/minitube-3.6.1/src/videodefinition.h
Examining data/minitube-3.6.1/src/playlistitemdelegate.cpp
Examining data/minitube-3.6.1/src/ytcategories.h
Examining data/minitube-3.6.1/src/invidious/ivsinglevideosource.cpp
Examining data/minitube-3.6.1/src/invidious/ivchannel.h
Examining data/minitube-3.6.1/src/invidious/ivchannelsource.h
Examining data/minitube-3.6.1/src/invidious/invidious.h
Examining data/minitube-3.6.1/src/invidious/ivvideolist.h
Examining data/minitube-3.6.1/src/invidious/ivsinglevideosource.h
Examining data/minitube-3.6.1/src/invidious/ivsearch.h
Examining data/minitube-3.6.1/src/invidious/ivchannel.cpp
Examining data/minitube-3.6.1/src/invidious/ivlistparser.cpp
Examining data/minitube-3.6.1/src/invidious/ivvideosource.h
Examining data/minitube-3.6.1/src/invidious/ivvideosource.cpp
Examining data/minitube-3.6.1/src/invidious/ivlistparser.h
Examining data/minitube-3.6.1/src/invidious/ivsearch.cpp
Examining data/minitube-3.6.1/src/invidious/ivvideolist.cpp
Examining data/minitube-3.6.1/src/invidious/invidious.cpp
Examining data/minitube-3.6.1/src/invidious/ivchannelsource.cpp
Examining data/minitube-3.6.1/src/database.h
Examining data/minitube-3.6.1/src/channelsmodel.h
Examining data/minitube-3.6.1/src/diskcache.cpp
Examining data/minitube-3.6.1/src/video.h
Examining data/minitube-3.6.1/src/ytsuggester.h
Examining data/minitube-3.6.1/src/ytstandardfeed.h
Examining data/minitube-3.6.1/src/painterutils.h
Examining data/minitube-3.6.1/src/playlistview.cpp
Examining data/minitube-3.6.1/src/datautils.h
Examining data/minitube-3.6.1/src/snapshotpreview.cpp
Examining data/minitube-3.6.1/src/ytcategories.cpp
Examining data/minitube-3.6.1/src/jsfunctions.cpp
Examining data/minitube-3.6.1/src/suggester.h
Examining data/minitube-3.6.1/src/refinesearchbutton.cpp
Examining data/minitube-3.6.1/src/regionsview.cpp
Examining data/minitube-3.6.1/src/channelwidget.h
Examining data/minitube-3.6.1/src/iconutils.cpp
Examining data/minitube-3.6.1/src/downloadmodel.cpp
Examining data/minitube-3.6.1/src/videoarea.h
Examining data/minitube-3.6.1/src/channelmodel.h
Examining data/minitube-3.6.1/src/videomimedata.cpp
Examining data/minitube-3.6.1/src/painterutils.cpp
Examining data/minitube-3.6.1/src/aggregatevideosource.cpp
Examining data/minitube-3.6.1/src/toolbarmenu.h
Examining data/minitube-3.6.1/src/ytvideo.h
Examining data/minitube-3.6.1/src/channellistview.cpp
Examining data/minitube-3.6.1/src/videoapi.h
Examining data/minitube-3.6.1/src/downloadsettings.h
Examining data/minitube-3.6.1/src/aboutview.cpp
Examining data/minitube-3.6.1/src/ytsearch.h
Examining data/minitube-3.6.1/src/searchparams.cpp
Examining data/minitube-3.6.1/src/spacer.cpp
Examining data/minitube-3.6.1/src/yt3listparser.cpp
Examining data/minitube-3.6.1/src/fontutils.h
Examining data/minitube-3.6.1/src/gnomeglobalshortcutbackend.h
Examining data/minitube-3.6.1/src/channelsuggest.cpp
Examining data/minitube-3.6.1/src/globalshortcuts.h
Examining data/minitube-3.6.1/src/videosource.h
Examining data/minitube-3.6.1/src/ytstandardfeed.cpp
Examining data/minitube-3.6.1/src/seekslider.h
Examining data/minitube-3.6.1/src/channelsmodel.cpp
Examining data/minitube-3.6.1/src/loadingwidget.cpp
Examining data/minitube-3.6.1/src/sharetoolbar.h
Examining data/minitube-3.6.1/src/refinesearchbutton.h
Examining data/minitube-3.6.1/src/downloadmanager.cpp
Examining data/minitube-3.6.1/src/ytsearch.cpp
Examining data/minitube-3.6.1/src/searchlineedit.h
Examining data/minitube-3.6.1/src/main.cpp
Examining data/minitube-3.6.1/src/searchview.h
Examining data/minitube-3.6.1/src/ytsinglevideosource.h
Examining data/minitube-3.6.1/src/downloadview.cpp
Examining data/minitube-3.6.1/src/gridwidget.cpp
Examining data/minitube-3.6.1/src/aggregatevideosource.h
Examining data/minitube-3.6.1/src/channelview.cpp
Examining data/minitube-3.6.1/src/ytsuggester.cpp
Examining data/minitube-3.6.1/src/gnomeglobalshortcutbackend.cpp
Examining data/minitube-3.6.1/src/paginatedvideosource.cpp
Examining data/minitube-3.6.1/src/fontutils.cpp
Examining data/minitube-3.6.1/src/downloaditem.cpp
Examining data/minitube-3.6.1/src/jsfunctions.h
Examining data/minitube-3.6.1/src/autocomplete.h
Examining data/minitube-3.6.1/src/channelmodel.cpp
Examining data/minitube-3.6.1/src/downloadlistview.cpp
Examining data/minitube-3.6.1/src/seekslider.cpp
Examining data/minitube-3.6.1/src/videosourcewidget.cpp
Examining data/minitube-3.6.1/src/temporary.cpp
Examining data/minitube-3.6.1/src/temporary.h

FINAL RESULTS:

data/minitube-3.6.1/src/datautils.cpp:31:33:  [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 regioneCode(QLocale::system());
data/minitube-3.6.1/src/datautils.cpp:94:32:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    if (hours == 0) return res.sprintf("%d:%02d", minutes, seconds);
data/minitube-3.6.1/src/datautils.cpp:95:16:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    return res.sprintf("%d:%02d:%02d", hours, minutes, seconds);
data/minitube-3.6.1/src/main.cpp:118:55:  [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.
    qtTranslator.load(QLatin1String("qt_") + QLocale::system().name(),
data/minitube-3.6.1/src/main.cpp:136:61:  [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.
    qDebug() << "Using locale dir" << localeDir << QLocale::system();
data/minitube-3.6.1/src/main.cpp:138:30:  [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.
    translator.load(QLocale::system(), QString(), QString(), localeDir);
data/minitube-3.6.1/src/mainwindow.cpp:1655:32:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    if (hours == 0) return res.sprintf("%02d:%02d", minutes, seconds);
data/minitube-3.6.1/src/mainwindow.cpp:1656:16:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    return res.sprintf("%02d:%02d:%02d", hours, minutes, seconds);
data/minitube-3.6.1/src/ytcategories.cpp:32:29:  [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.
        language = QLocale::system().uiLanguages().at(0);
data/minitube-3.6.1/src/ytregions.cpp:89:36:  [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.
        QString country = QLocale::system().name().right(2);
data/minitube-3.6.1/src/ytsuggester.cpp:32:31:  [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.
    QString locale = QLocale::system().uiLanguages().at(0);
data/minitube-3.6.1/lib/http/src/localcache.cpp:58: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/minitube-3.6.1/lib/http/src/localcache.cpp:74: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/minitube-3.6.1/lib/http/src/localcache.cpp:94: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/minitube-3.6.1/lib/media/src/mpv/qthelper.hpp:139:18:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            std::memcpy(r, b.data(), b.size() + 1);
data/minitube-3.6.1/lib/media/src/qtav/mediaqtav.cpp:184: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 (!audio->isOpen()) audio->open();
data/minitube-3.6.1/lib/updater/src/impl/downloader.cpp:23: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::ReadWrite)) {
data/minitube-3.6.1/src/database.cpp:164:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if(!connection.open()) {
data/minitube-3.6.1/src/downloaditem.cpp:178: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).
void DownloadItem::open() {
data/minitube-3.6.1/src/downloaditem.cpp:203: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_file.open(QIODevice::ReadWrite)) {
data/minitube-3.6.1/src/downloaditem.h:74:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    void open();
data/minitube-3.6.1/src/downloadsettings.cpp:65: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(this, SLOT(folderChosen(const QString &)));
data/minitube-3.6.1/src/jsfunctions.cpp:36: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::ReadOnly | QIODevice::Text))
data/minitube-3.6.1/src/jsfunctions.cpp:93: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/minitube-3.6.1/src/main.cpp:110: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).
    cssFile.open(QFile::ReadOnly);
data/minitube-3.6.1/src/qtsingleapplication/qtlocalpeer.cpp:108: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/minitube-3.6.1/src/qtsingleapplication/qtlockedfile.cpp:123: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(OpenMode mode)
data/minitube-3.6.1/src/qtsingleapplication/qtlockedfile.cpp:129: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/minitube-3.6.1/src/qtsingleapplication/qtlockedfile.h:76:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    bool open(OpenMode mode);
data/minitube-3.6.1/src/snapshotsettings.cpp:104: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(this, SLOT(folderChosen(const QString &)));
data/minitube-3.6.1/src/temporary.cpp:38: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).
    tempfile->open();
data/minitube-3.6.1/src/ytchannel.cpp:195: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::WriteOnly))
data/minitube-3.6.1/lib/http/src/localcache.cpp:5:64:  [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 i = instances.constFind(QByteArray::fromRawData(name, strlen(name)));
data/minitube-3.6.1/lib/http/src/localcache.cpp:39:33:  [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).
    p.append(h.constData() + 2, strlen(h.constData()) - 2); // p.append(h.mid(2));
data/minitube-3.6.1/src/iconutils.cpp:98:60:  [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 i = cache.constFind(QByteArray::fromRawData(name, strlen(name)));
data/minitube-3.6.1/src/mainwindow.cpp:1933:58:  [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).
    return actionMap.value(QByteArray::fromRawData(name, strlen(name)));
data/minitube-3.6.1/src/mainwindow.cpp:1941:56:  [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).
    return menuMap.value(QByteArray::fromRawData(name, strlen(name)));
data/minitube-3.6.1/src/qtsingleapplication/qtlocalpeer.cpp:167: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);

ANALYSIS SUMMARY:

Hits = 38
Lines analyzed = 26894 in approximately 0.69 seconds (39123 lines/second)
Physical Source Lines of Code (SLOC) = 18884
Hits@level = [0]   0 [1]   6 [2]  21 [3]   0 [4]  11 [5]   0
Hits@level+ = [0+]  38 [1+]  38 [2+]  32 [3+]  11 [4+]  11 [5+]   0
Hits/KSLOC@level+ = [0+] 2.01229 [1+] 2.01229 [2+] 1.69456 [3+] 0.582504 [4+] 0.582504 [5+]   0
Dot directories skipped = 2 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.