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/muparserx-4.0.7+dfsg/doc/custom/calc.cpp
Examining data/muparserx-4.0.7+dfsg/doc/custom/list_expr_var.cpp
Examining data/muparserx-4.0.7+dfsg/doc/custom/listvar.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpCompat.h
Examining data/muparserx-4.0.7+dfsg/parser/mpDefines.h
Examining data/muparserx-4.0.7+dfsg/parser/mpError.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpError.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncCommon.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncCommon.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncMatrix.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncMatrix.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncNonCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncNonCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncStr.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpFuncStr.h
Examining data/muparserx-4.0.7+dfsg/parser/mpFwdDecl.h
Examining data/muparserx-4.0.7+dfsg/parser/mpICallback.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpICallback.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIOprt.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIOprt.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIPackage.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIPackage.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIPrecedence.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIToken.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIToken.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIValReader.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIValReader.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIValue.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIValue.h
Examining data/muparserx-4.0.7+dfsg/parser/mpIfThenElse.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpIfThenElse.h
Examining data/muparserx-4.0.7+dfsg/parser/mpMatrix.h
Examining data/muparserx-4.0.7+dfsg/parser/mpMatrixError.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtBinAssign.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtBinAssign.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtBinCommon.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtBinCommon.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtIndex.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtIndex.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtMatrix.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtMatrix.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtNonCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtNonCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtPostfixCommon.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpOprtPostfixCommon.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageCommon.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageCommon.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageMatrix.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageMatrix.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageNonCmplx.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageNonCmplx.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageStr.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageStr.h
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageUnit.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpPackageUnit.h
Examining data/muparserx-4.0.7+dfsg/parser/mpParser.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpParser.h
Examining data/muparserx-4.0.7+dfsg/parser/mpParserBase.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpParserBase.h
Examining data/muparserx-4.0.7+dfsg/parser/mpParserMessageProvider.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpParserMessageProvider.h
Examining data/muparserx-4.0.7+dfsg/parser/mpRPN.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpRPN.h
Examining data/muparserx-4.0.7+dfsg/parser/mpScriptTokens.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpScriptTokens.h
Examining data/muparserx-4.0.7+dfsg/parser/mpStack.h
Examining data/muparserx-4.0.7+dfsg/parser/mpTest.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpTest.h
Examining data/muparserx-4.0.7+dfsg/parser/mpTokenReader.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpTokenReader.h
Examining data/muparserx-4.0.7+dfsg/parser/mpTypes.h
Examining data/muparserx-4.0.7+dfsg/parser/mpValReader.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpValReader.h
Examining data/muparserx-4.0.7+dfsg/parser/mpValue.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpValue.h
Examining data/muparserx-4.0.7+dfsg/parser/mpValueCache.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpValueCache.h
Examining data/muparserx-4.0.7+dfsg/parser/mpVariable.cpp
Examining data/muparserx-4.0.7+dfsg/parser/mpVariable.h
Examining data/muparserx-4.0.7+dfsg/parser/suSortPred.h
Examining data/muparserx-4.0.7+dfsg/parser/suStringTokens.h
Examining data/muparserx-4.0.7+dfsg/parser/utGeneric.h
Examining data/muparserx-4.0.7+dfsg/sample/example.cpp
Examining data/muparserx-4.0.7+dfsg/sample/timer.cpp
Examining data/muparserx-4.0.7+dfsg/sample/timer.h

FINAL RESULTS:

data/muparserx-4.0.7+dfsg/doc/custom/calc.cpp:6:3:  [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 line[100];
data/muparserx-4.0.7+dfsg/sample/example.cpp:256:5:  [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 outstr[200];
data/muparserx-4.0.7+dfsg/sample/example.cpp:318:19:  [2] (misc) fopen:
  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 *pFile = fopen(outstr, "w");
data/muparserx-4.0.7+dfsg/parser/mpTest.cpp:1807:13:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (!getchar());

ANALYSIS SUMMARY:

Hits = 4
Lines analyzed = 18869 in approximately 0.52 seconds (36209 lines/second)
Physical Source Lines of Code (SLOC) = 10588
Hits@level = [0]  15 [1]   1 [2]   3 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  19 [1+]   4 [2+]   3 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.79448 [1+] 0.377786 [2+] 0.28334 [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.