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/peruse-1.2+dfsg+20191117/src/acbf/AcbfAuthor.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfAuthor.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBinary.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBinary.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBody.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBody.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBookinfo.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfBookinfo.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfContentrating.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfContentrating.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfData.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfData.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDatabaseref.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDatabaseref.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDocument.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDocument.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDocumentinfo.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfDocumentinfo.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfFrame.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfFrame.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfJump.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfJump.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfLanguage.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfLanguage.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfMetadata.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfMetadata.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfPage.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfPage.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfPublishinfo.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfPublishinfo.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfReference.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfReference.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfReferences.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfReferences.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfSequence.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfSequence.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfStyleSheet.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfStyleSheet.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfTextarea.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfTextarea.h
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfTextlayer.cpp
Examining data/peruse-1.2+dfsg+20191117/src/acbf/AcbfTextlayer.h
Examining data/peruse-1.2+dfsg+20191117/src/app/main.cpp
Examining data/peruse-1.2+dfsg+20191117/src/common/peruse_helpers.cpp
Examining data/peruse-1.2+dfsg+20191117/src/common/peruse_helpers.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/BalooContentLister.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/BalooContentLister.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentList.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentList.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentListerBase.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentListerBase.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentQuery.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/ContentQuery.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/FilesystemContentLister.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/FilesystemContentLister.h
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/qmlplugin.cpp
Examining data/peruse-1.2+dfsg+20191117/src/contentlist/qmlplugin.h
Examining data/peruse-1.2+dfsg+20191117/src/creator/main.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveImageProvider.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveImageProvider.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookDatabase.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookDatabase.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookListModel.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookListModel.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookModel.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/BookModel.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/CategoryEntriesModel.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/CategoryEntriesModel.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ComicCoverImageProvider.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/FilterProxy.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/FilterProxy.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/FolderBookModel.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/FolderBookModel.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PDFCoverImageProvider.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PDFCoverImageProvider.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PeruseConfig.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PeruseConfig.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PreviewImageProvider.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PreviewImageProvider.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PropertyContainer.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/PropertyContainer.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/qmlplugin.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/qmlplugin.h
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp
Examining data/peruse-1.2+dfsg+20191117/src/qtquick/ComicCoverImageProvider.cpp

FINAL RESULTS:

data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:186: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(d->archive->open(QIODevice::ReadOnly))
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:446: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).
        tmpFile.open();
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:452: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).
        archive->open(QIODevice::ReadWrite);
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:500:28:  [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(destinationFile.open(QIODevice::WriteOnly))
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:503: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(originFile.open(QIODevice::ReadOnly)) {
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:608: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).
        d->archive->open(QIODevice::ReadWrite);
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:611: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).
        d->archive->open(QIODevice::ReadOnly);
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:680: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).
    model->d->archive->open(QIODevice::ReadWrite);
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveImageProvider.cpp:53:11:  [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).
        b.open(QIODevice::ReadOnly);
data/peruse-1.2+dfsg+20191117/src/qtquick/BookDatabase.cpp:54:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if (!db.open()) {
data/peruse-1.2+dfsg+20191117/src/qtquick/ComicCoverImageProvider.cpp:91:28:  [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(archive && archive->open(QIODevice::ReadOnly)) {
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveBookModel.cpp:507:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    destinationFile.write(originFile.read(65536));
data/peruse-1.2+dfsg+20191117/src/qtquick/ArchiveImageProvider.cpp:55:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bool success = reader.read(image);

ANALYSIS SUMMARY:

Hits = 13
Lines analyzed = 14203 in approximately 0.38 seconds (37824 lines/second)
Physical Source Lines of Code (SLOC) = 8182
Hits@level = [0]   0 [1]   2 [2]  11 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  13 [1+]  13 [2+]  11 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.58885 [1+] 1.58885 [2+] 1.34441 [3+]   0 [4+]   0 [5+]   0
Dot directories skipped = 1 (--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.