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/zegrapher-3.1.1/DataPlot/csvhandler.h Examining data/zegrapher-3.1.1/DataPlot/modelwidget.cpp Examining data/zegrapher-3.1.1/DataPlot/datatable.h Examining data/zegrapher-3.1.1/DataPlot/datawindow.h Examining data/zegrapher-3.1.1/DataPlot/columnselectorwidget.cpp Examining data/zegrapher-3.1.1/DataPlot/modelchoicewidget.cpp Examining data/zegrapher-3.1.1/DataPlot/csvhandler.cpp Examining data/zegrapher-3.1.1/DataPlot/rowselectorwidget.h Examining data/zegrapher-3.1.1/DataPlot/columnactionswidget.h Examining data/zegrapher-3.1.1/DataPlot/rowactionswidget.cpp Examining data/zegrapher-3.1.1/DataPlot/polynomialmodelwidget.h Examining data/zegrapher-3.1.1/DataPlot/polynomialmodelwidget.cpp Examining data/zegrapher-3.1.1/DataPlot/rowselectorwidget.cpp Examining data/zegrapher-3.1.1/DataPlot/modelchoicewidget.h Examining data/zegrapher-3.1.1/DataPlot/datawindow.cpp Examining data/zegrapher-3.1.1/DataPlot/rowactionswidget.h Examining data/zegrapher-3.1.1/DataPlot/columnselectorwidget.h Examining data/zegrapher-3.1.1/DataPlot/columnactionswidget.cpp Examining data/zegrapher-3.1.1/DataPlot/datatable.cpp Examining data/zegrapher-3.1.1/DataPlot/modelwidget.h Examining data/zegrapher-3.1.1/structures.h Examining data/zegrapher-3.1.1/ValuesTable/abstracttable.h Examining data/zegrapher-3.1.1/ValuesTable/valuestable.h Examining data/zegrapher-3.1.1/ValuesTable/pareqtable.h Examining data/zegrapher-3.1.1/ValuesTable/valuestableconf.cpp Examining data/zegrapher-3.1.1/ValuesTable/seqtable.cpp Examining data/zegrapher-3.1.1/ValuesTable/functable.cpp Examining data/zegrapher-3.1.1/ValuesTable/functable.h Examining data/zegrapher-3.1.1/ValuesTable/seqtable.h Examining data/zegrapher-3.1.1/ValuesTable/pareqtable.cpp Examining data/zegrapher-3.1.1/ValuesTable/valuestableconf.h Examining data/zegrapher-3.1.1/ValuesTable/valuestable.cpp Examining data/zegrapher-3.1.1/ValuesTable/abstracttable.cpp Examining data/zegrapher-3.1.1/Calculus/seqcalculator.h Examining data/zegrapher-3.1.1/Calculus/seqcalculator.cpp Examining data/zegrapher-3.1.1/Calculus/funccalculator.h Examining data/zegrapher-3.1.1/Calculus/treecreator.h Examining data/zegrapher-3.1.1/Calculus/regressionvaluessaver.cpp Examining data/zegrapher-3.1.1/Calculus/polynomialregression.h Examining data/zegrapher-3.1.1/Calculus/treecreator.cpp Examining data/zegrapher-3.1.1/Calculus/funcvaluessaver.cpp Examining data/zegrapher-3.1.1/Calculus/exprcalculator.cpp Examining data/zegrapher-3.1.1/Calculus/polynomialregression.cpp Examining data/zegrapher-3.1.1/Calculus/colorsaver.cpp Examining data/zegrapher-3.1.1/Calculus/regression.h Examining data/zegrapher-3.1.1/Calculus/funcvaluessaver.h Examining data/zegrapher-3.1.1/Calculus/colorsaver.h Examining data/zegrapher-3.1.1/Calculus/calculusdefines.h Examining data/zegrapher-3.1.1/Calculus/exprcalculator.h Examining data/zegrapher-3.1.1/Calculus/polynomial.cpp Examining data/zegrapher-3.1.1/Calculus/polynomial.h Examining data/zegrapher-3.1.1/Calculus/funccalculator.cpp Examining data/zegrapher-3.1.1/Calculus/regression.cpp Examining data/zegrapher-3.1.1/Calculus/seqcolorssaver.h Examining data/zegrapher-3.1.1/Calculus/regressionvaluessaver.h Examining data/zegrapher-3.1.1/Windows/mathobjectsinput.cpp Examining data/zegrapher-3.1.1/Windows/mainwindow.h Examining data/zegrapher-3.1.1/Windows/about.h Examining data/zegrapher-3.1.1/Windows/values.cpp Examining data/zegrapher-3.1.1/Windows/settings.h Examining data/zegrapher-3.1.1/Windows/mathobjectsinput.h Examining data/zegrapher-3.1.1/Windows/rangeadjustments.cpp Examining data/zegrapher-3.1.1/Windows/mainwindow.cpp Examining data/zegrapher-3.1.1/Windows/rangeadjustments.h Examining data/zegrapher-3.1.1/Windows/settings.cpp Examining data/zegrapher-3.1.1/Windows/updatecheck.cpp Examining data/zegrapher-3.1.1/Windows/about.cpp Examining data/zegrapher-3.1.1/Windows/updatecheck.h Examining data/zegrapher-3.1.1/Windows/values.h Examining data/zegrapher-3.1.1/Export/print.h Examining data/zegrapher-3.1.1/Export/imagesave.cpp Examining data/zegrapher-3.1.1/Export/imagesave.h Examining data/zegrapher-3.1.1/Export/print.cpp Examining data/zegrapher-3.1.1/Widgets/funcwidget.cpp Examining data/zegrapher-3.1.1/Widgets/numberlineedit.cpp Examining data/zegrapher-3.1.1/Widgets/seqwidget.h Examining data/zegrapher-3.1.1/Widgets/pareqwidget.cpp Examining data/zegrapher-3.1.1/Widgets/abstractfuncwidget.cpp Examining data/zegrapher-3.1.1/Widgets/funcwidget.h Examining data/zegrapher-3.1.1/Widgets/straightlinewidget.h Examining data/zegrapher-3.1.1/Widgets/datawidget.cpp Examining data/zegrapher-3.1.1/Widgets/pareqwidget.h Examining data/zegrapher-3.1.1/Widgets/parconfwidget.h Examining data/zegrapher-3.1.1/Widgets/tangentwidget.h Examining data/zegrapher-3.1.1/Widgets/qcolorbutton.cpp Examining data/zegrapher-3.1.1/Widgets/pareqcontroller.cpp Examining data/zegrapher-3.1.1/Widgets/integrationwidget.cpp Examining data/zegrapher-3.1.1/Widgets/keyboard.cpp Examining data/zegrapher-3.1.1/Widgets/datawidget.h Examining data/zegrapher-3.1.1/Widgets/integrationwidget.h Examining data/zegrapher-3.1.1/Widgets/numberlineedit.h Examining data/zegrapher-3.1.1/Widgets/parconfwidget.cpp Examining data/zegrapher-3.1.1/Widgets/qcolorbutton.h Examining data/zegrapher-3.1.1/Widgets/seqwidget.cpp Examining data/zegrapher-3.1.1/Widgets/abstractfuncwidget.h Examining data/zegrapher-3.1.1/Widgets/popupwidget.h Examining data/zegrapher-3.1.1/Widgets/straightlinewidget.cpp Examining data/zegrapher-3.1.1/Widgets/tangentwidget.cpp Examining data/zegrapher-3.1.1/Widgets/pareqcontroller.h Examining data/zegrapher-3.1.1/Widgets/keyboard.h Examining data/zegrapher-3.1.1/Widgets/popupwidget.cpp Examining data/zegrapher-3.1.1/information.h Examining data/zegrapher-3.1.1/information.cpp Examining data/zegrapher-3.1.1/GraphDraw/maingraph.cpp Examining data/zegrapher-3.1.1/GraphDraw/printpreview.cpp Examining data/zegrapher-3.1.1/GraphDraw/graphdraw.cpp Examining data/zegrapher-3.1.1/GraphDraw/imagepreview.h Examining data/zegrapher-3.1.1/GraphDraw/graphdraw.h Examining data/zegrapher-3.1.1/GraphDraw/printpreview.h Examining data/zegrapher-3.1.1/GraphDraw/maingraph.h Examining data/zegrapher-3.1.1/GraphDraw/imagepreview.cpp Examining data/zegrapher-3.1.1/main.cpp FINAL RESULTS: data/zegrapher-3.1.1/DataPlot/csvhandler.cpp:142: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(file.open(QFile::WriteOnly | QFile::Truncate | QFile::Text)) data/zegrapher-3.1.1/DataPlot/csvhandler.cpp:157: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(file.open(QFile::ReadOnly | QFile::Text)) data/zegrapher-3.1.1/DataPlot/datawindow.cpp:146: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). connect(ui->open, SIGNAL(released()), this, SLOT(openData())); ANALYSIS SUMMARY: Hits = 3 Lines analyzed = 18916 in approximately 0.47 seconds (40122 lines/second) Physical Source Lines of Code (SLOC) = 12779 Hits@level = [0] 0 [1] 0 [2] 3 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 3 [1+] 3 [2+] 3 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.23476 [1+] 0.23476 [2+] 0.23476 [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.