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/deepin-music-5.0.1+ds/src/interface/metasearchengine.h
Examining data/deepin-music-5.0.1+ds/src/interface/plugininterface.h
Examining data/deepin-music-5.0.1+ds/src/interface/searchmeta.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/libdmusic_global.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/metadetector.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/metadetector.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/musicmeta.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/net/geese.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/net/geese.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/playlistmeta.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/cueparser.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/cueparser.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/encodingdetector.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/encodingdetector.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/pinyinsearch.cpp
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/pinyinsearch.h
Examining data/deepin-music-5.0.1+ds/src/libdmusic/util/singleton.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/mediadatabase.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/mediadatabase.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/mediadatabasewriter.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/mediadatabasewriter.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/medialibrary.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/medialibrary.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/music.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/musicsettings.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/musicsettings.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/player.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/player.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/playlist.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/playlist.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/playlistmanager.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/playlistmanager.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/pluginmanager.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/pluginmanager.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/qplayer.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/filesystemwatcher.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/filesystemwatcher.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/global.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/global.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/inotifyengine.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/inotifyengine.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/lyric.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/lyric.h
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/threadpool.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/core/util/threadpool.h
Examining data/deepin-music-5.0.1+ds/src/music-player/main.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/musicapp.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/musicapp.h
Examining data/deepin-music-5.0.1+ds/src/music-player/presenter/presenter.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/presenter/presenter.h
Examining data/deepin-music-5.0.1+ds/src/music-player/presenter/presenter_p.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/footerwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/footerwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/helper/widgethellper.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/helper/widgethellper.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/importwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/importwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/loadwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/loadwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/lyricwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/lyricwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/mainframe.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/mainframe.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/mainwindow.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/mainwindow.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/musiclistwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/musiclistwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/playlistwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/playlistwidget.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/closeconfirmdialog.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/closeconfirmdialog.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/cover.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/cover.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/ddropdown.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/ddropdown.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/delegate/lyriclinedelegate.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/delegate/lyriclinedelegate.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/delegate/musicitemdelegate.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/delegate/musicitemdelegate.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/delegate/musicitemdelegate_p.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/filter.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/filter.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/infodialog.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/infodialog.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/label.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/label.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/listview.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/listview.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/lyricview.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/lyricview.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/modebuttom.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/modebuttom.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/model/musiclistmodel.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/model/musiclistmodel.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/musiclistview.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/musiclistview.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/playlistitem.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/playlistitem.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/playlistview.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/playlistview.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/pushbutton.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/pushbutton.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchedit.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchedit.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchmetaitem.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchmetaitem.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchmetalist.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchmetalist.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchresult.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/searchresult.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/settingsdialog.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/slider.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/slider.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/soundvolume.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/soundvolume.h
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/titlebarwidget.cpp
Examining data/deepin-music-5.0.1+ds/src/music-player/view/widget/titlebarwidget.h
Examining data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/metaanalyzer.cpp
Examining data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/metaanalyzer.h
Examining data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/neteasemetasearch.cpp
Examining data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/neteasemetasearch.h
Examining data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/neteasemetasearch_global.h

FINAL RESULTS:

data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.cpp:90:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        text.sprintf("%.1fB", sizeByte / 1.0);
data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.cpp:94:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        text.sprintf("%.1fK", sizeByte / 1024.0);
data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.cpp:98:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        text.sprintf("%.1fM", sizeByte / 1024.0 / 1024.0);
data/deepin-music-5.0.1+ds/src/libdmusic/mediameta.cpp:101:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    text.sprintf("%.1fG", sizeByte / 1024.0 / 1024.0 / 1024.0);
data/deepin-music-5.0.1+ds/src/libdmusic/metadetector.cpp:68:50:  [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.
    auto localeCode = localeCodes.value(QLocale::system().name());
data/deepin-music-5.0.1+ds/src/libdmusic/metadetector.cpp:149:9:  [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[buflen];
data/deepin-music-5.0.1+ds/src/libdmusic/metadetector.cpp:187: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 (cueFile.open(QIODevice::ReadOnly)) {
data/deepin-music-5.0.1+ds/src/libdmusic/util/cueparser.cpp:201: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 (!cueFile.open(QIODevice::ReadOnly)) {
data/deepin-music-5.0.1+ds/src/music-player/core/mediadatabase.cpp:46: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 (!db.open()) {
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:98: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).
                coverFile.open(QIODevice::WriteOnly);
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:115: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).
            lyricFile.open(QIODevice::WriteOnly);
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:154: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 (coverFile.open(QIODevice::ReadOnly)) {
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:163: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 (lyricFile.open(QIODevice::ReadOnly)) {
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:237: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).
            coverFile.open(QIODevice::WriteOnly);
data/deepin-music-5.0.1+ds/src/music-player/core/metasearchservice.cpp:259: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).
        lyricFile.open(QIODevice::WriteOnly);
data/deepin-music-5.0.1+ds/src/plugin/netease-meta-search/neteasemetasearch.cpp:77: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).
    file.open(QIODevice::WriteOnly);
data/deepin-music-5.0.1+ds/src/libdmusic/util/encodingdetector.cpp:70:29:  [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).
        if (lang == NULL || strlen(lang) == 0) {
data/deepin-music-5.0.1+ds/src/music-player/core/util/inotifyengine.cpp:113:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto readSize = read(d->m_inotifyFd, buffer.data(), buffSize);

ANALYSIS SUMMARY:

Hits = 18
Lines analyzed = 18733 in approximately 0.46 seconds (40956 lines/second)
Physical Source Lines of Code (SLOC) = 12631
Hits@level = [0]   0 [1]   2 [2]  11 [3]   0 [4]   5 [5]   0
Hits@level+ = [0+]  18 [1+]  18 [2+]  16 [3+]   5 [4+]   5 [5+]   0
Hits/KSLOC@level+ = [0+] 1.42507 [1+] 1.42507 [2+] 1.26672 [3+] 0.395851 [4+] 0.395851 [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.