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/tikzit-2.1.6/src/data/delimitedstringvalidator.cpp
Examining data/tikzit-2.1.6/src/data/delimitedstringvalidator.h
Examining data/tikzit-2.1.6/src/data/edge.cpp
Examining data/tikzit-2.1.6/src/data/edge.h
Examining data/tikzit-2.1.6/src/data/graph.cpp
Examining data/tikzit-2.1.6/src/data/graph.h
Examining data/tikzit-2.1.6/src/data/graphelementdata.cpp
Examining data/tikzit-2.1.6/src/data/graphelementdata.h
Examining data/tikzit-2.1.6/src/data/graphelementproperty.cpp
Examining data/tikzit-2.1.6/src/data/graphelementproperty.h
Examining data/tikzit-2.1.6/src/data/node.cpp
Examining data/tikzit-2.1.6/src/data/node.h
Examining data/tikzit-2.1.6/src/data/path.cpp
Examining data/tikzit-2.1.6/src/data/path.h
Examining data/tikzit-2.1.6/src/data/pdfdocument.cpp
Examining data/tikzit-2.1.6/src/data/pdfdocument.h
Examining data/tikzit-2.1.6/src/data/style.cpp
Examining data/tikzit-2.1.6/src/data/style.h
Examining data/tikzit-2.1.6/src/data/stylelist.cpp
Examining data/tikzit-2.1.6/src/data/stylelist.h
Examining data/tikzit-2.1.6/src/data/tikzassembler.cpp
Examining data/tikzit-2.1.6/src/data/tikzassembler.h
Examining data/tikzit-2.1.6/src/data/tikzdocument.cpp
Examining data/tikzit-2.1.6/src/data/tikzdocument.h
Examining data/tikzit-2.1.6/src/data/tikzparserdefs.h
Examining data/tikzit-2.1.6/src/data/tikzstyles.cpp
Examining data/tikzit-2.1.6/src/data/tikzstyles.h
Examining data/tikzit-2.1.6/src/gui/commands.cpp
Examining data/tikzit-2.1.6/src/gui/commands.h
Examining data/tikzit-2.1.6/src/gui/delimitedstringitemdelegate.cpp
Examining data/tikzit-2.1.6/src/gui/delimitedstringitemdelegate.h
Examining data/tikzit-2.1.6/src/gui/edgeitem.cpp
Examining data/tikzit-2.1.6/src/gui/edgeitem.h
Examining data/tikzit-2.1.6/src/gui/exportdialog.cpp
Examining data/tikzit-2.1.6/src/gui/exportdialog.h
Examining data/tikzit-2.1.6/src/gui/latexprocess.cpp
Examining data/tikzit-2.1.6/src/gui/latexprocess.h
Examining data/tikzit-2.1.6/src/gui/mainmenu.cpp
Examining data/tikzit-2.1.6/src/gui/mainmenu.h
Examining data/tikzit-2.1.6/src/gui/mainwindow.cpp
Examining data/tikzit-2.1.6/src/gui/mainwindow.h
Examining data/tikzit-2.1.6/src/gui/nodeitem.cpp
Examining data/tikzit-2.1.6/src/gui/nodeitem.h
Examining data/tikzit-2.1.6/src/gui/pathitem.cpp
Examining data/tikzit-2.1.6/src/gui/pathitem.h
Examining data/tikzit-2.1.6/src/gui/preferencedialog.cpp
Examining data/tikzit-2.1.6/src/gui/preferencedialog.h
Examining data/tikzit-2.1.6/src/gui/previewwindow.cpp
Examining data/tikzit-2.1.6/src/gui/previewwindow.h
Examining data/tikzit-2.1.6/src/gui/propertypalette.cpp
Examining data/tikzit-2.1.6/src/gui/propertypalette.h
Examining data/tikzit-2.1.6/src/gui/styleeditor.cpp
Examining data/tikzit-2.1.6/src/gui/styleeditor.h
Examining data/tikzit-2.1.6/src/gui/stylepalette.cpp
Examining data/tikzit-2.1.6/src/gui/stylepalette.h
Examining data/tikzit-2.1.6/src/gui/tikzscene.cpp
Examining data/tikzit-2.1.6/src/gui/tikzscene.h
Examining data/tikzit-2.1.6/src/gui/tikzview.cpp
Examining data/tikzit-2.1.6/src/gui/tikzview.h
Examining data/tikzit-2.1.6/src/gui/toolpalette.cpp
Examining data/tikzit-2.1.6/src/gui/toolpalette.h
Examining data/tikzit-2.1.6/src/gui/undocommands.cpp
Examining data/tikzit-2.1.6/src/gui/undocommands.h
Examining data/tikzit-2.1.6/src/main.cpp
Examining data/tikzit-2.1.6/src/test/testmain.cpp
Examining data/tikzit-2.1.6/src/test/testparser.cpp
Examining data/tikzit-2.1.6/src/test/testparser.h
Examining data/tikzit-2.1.6/src/test/testtest.cpp
Examining data/tikzit-2.1.6/src/test/testtest.h
Examining data/tikzit-2.1.6/src/test/testtikzoutput.cpp
Examining data/tikzit-2.1.6/src/test/testtikzoutput.h
Examining data/tikzit-2.1.6/src/tikzit.cpp
Examining data/tikzit-2.1.6/src/tikzit.h
Examining data/tikzit-2.1.6/src/util.cpp
Examining data/tikzit-2.1.6/src/util.h

FINAL RESULTS:

data/tikzit-2.1.6/src/data/pdfdocument.cpp:13: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).
    if (f.open(QFile::ReadOnly)) {
data/tikzit-2.1.6/src/data/tikzdocument.cpp:56: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 TikzDocument::open(QString fileName)
data/tikzit-2.1.6/src/data/tikzdocument.cpp:65: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/tikzit-2.1.6/src/data/tikzdocument.cpp:122: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/tikzit-2.1.6/src/data/tikzdocument.h:45: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(QString fileName);
data/tikzit-2.1.6/src/data/tikzstyles.cpp:56: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::ReadOnly)) {
data/tikzit-2.1.6/src/data/tikzstyles.cpp:72: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/tikzit-2.1.6/src/gui/latexprocess.cpp:106:7:  [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).
    f.open(QIODevice::WriteOnly);
data/tikzit-2.1.6/src/gui/mainmenu.cpp:87: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).
    tikzit->open();
data/tikzit-2.1.6/src/gui/mainmenu.cpp:117: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).
            tikzit->open(action->data().toString());
data/tikzit-2.1.6/src/gui/mainwindow.cpp:96: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).
void MainWindow::open(QString fileName)
data/tikzit-2.1.6/src/gui/mainwindow.cpp:98: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).
    _tikzDocument->open(fileName);
data/tikzit-2.1.6/src/gui/mainwindow.h:33: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(QString fileName);
data/tikzit-2.1.6/src/gui/styleeditor.cpp:83: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).
void StyleEditor::open() {
data/tikzit-2.1.6/src/gui/styleeditor.h:45: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/tikzit-2.1.6/src/main.cpp:62: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).
        tikzit->open(a.arguments()[1]);
data/tikzit-2.1.6/src/tikzit.cpp:219: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).
void Tikzit::open()
data/tikzit-2.1.6/src/tikzit.cpp:229:2:  [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(fileName);
data/tikzit-2.1.6/src/tikzit.cpp:232: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).
void Tikzit::open(QString fileName)
data/tikzit-2.1.6/src/tikzit.cpp:239: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).
			_windows[0]->open(fileName);
data/tikzit-2.1.6/src/tikzit.cpp:258: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).
                w->open(fileName);
data/tikzit-2.1.6/src/tikzit.cpp:315: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).
    _styleEditor->open();
data/tikzit-2.1.6/src/tikzit.h:118: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/tikzit-2.1.6/src/tikzit.h:119:7:  [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(QString fileName);
data/tikzit-2.1.6/src/tikzit.cpp:382:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    QByteArray data = reply->read(200);

ANALYSIS SUMMARY:

Hits = 25
Lines analyzed = 11850 in approximately 0.28 seconds (42141 lines/second)
Physical Source Lines of Code (SLOC) = 8500
Hits@level = [0]   0 [1]   1 [2]  24 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  25 [1+]  25 [2+]  24 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 2.94118 [1+] 2.94118 [2+] 2.82353 [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.