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/analitza-20.08.0/analitza/expression.h
Examining data/analitza-20.08.0/analitza/expressiontable_p.h
Examining data/analitza-20.08.0/analitza/mathmlpresentationexpressionwriter.cpp
Examining data/analitza-20.08.0/analitza/matrix.cpp
Examining data/analitza-20.08.0/analitza/substituteexpression.h
Examining data/analitza-20.08.0/analitza/explexer.cpp
Examining data/analitza-20.08.0/analitza/abstractlexer.h
Examining data/analitza-20.08.0/analitza/operations.cpp
Examining data/analitza-20.08.0/analitza/value.cpp
Examining data/analitza-20.08.0/analitza/value.h
Examining data/analitza-20.08.0/analitza/expressiontable.cpp
Examining data/analitza-20.08.0/analitza/expressionstream.cpp
Examining data/analitza-20.08.0/analitza/vector.h
Examining data/analitza-20.08.0/analitza/polynomial.h
Examining data/analitza-20.08.0/analitza/importqobjectmetatype.h
Examining data/analitza-20.08.0/analitza/mathmlexpressionwriter.cpp
Examining data/analitza-20.08.0/analitza/polynomial.cpp
Examining data/analitza-20.08.0/analitza/tests/matchingtest.h
Examining data/analitza-20.08.0/analitza/tests/typechecktest.cpp
Examining data/analitza-20.08.0/analitza/tests/matchingtest.cpp
Examining data/analitza-20.08.0/analitza/tests/typechecktest.h
Examining data/analitza-20.08.0/analitza/tests/builtintest.cpp
Examining data/analitza-20.08.0/analitza/tests/commandstest.cpp
Examining data/analitza-20.08.0/analitza/tests/exptest.cpp
Examining data/analitza-20.08.0/analitza/tests/mathmlpresentationtest.cpp
Examining data/analitza-20.08.0/analitza/tests/expressiontest.h
Examining data/analitza-20.08.0/analitza/tests/mathmlpresentationtest.h
Examining data/analitza-20.08.0/analitza/tests/builtintest.h
Examining data/analitza-20.08.0/analitza/tests/commandstest.h
Examining data/analitza-20.08.0/analitza/tests/analitzatest.h
Examining data/analitza-20.08.0/analitza/tests/expressiontest.cpp
Examining data/analitza-20.08.0/analitza/tests/analitzatest.cpp
Examining data/analitza-20.08.0/analitza/tests/exptest.h
Examining data/analitza-20.08.0/analitza/vector.cpp
Examining data/analitza-20.08.0/analitza/expression.cpp
Examining data/analitza-20.08.0/analitza/analitzautils.cpp
Examining data/analitza-20.08.0/analitza/list.cpp
Examining data/analitza-20.08.0/analitza/object.h
Examining data/analitza-20.08.0/analitza/transformation.h
Examining data/analitza-20.08.0/analitza/abstractexpressionvisitor.cpp
Examining data/analitza-20.08.0/analitza/mathmlpresentationlexer.h
Examining data/analitza-20.08.0/analitza/operator.h
Examining data/analitza-20.08.0/analitza/expressionparser.h
Examining data/analitza-20.08.0/analitza/commands/realpower.cpp
Examining data/analitza-20.08.0/analitza/commands/matrixcommands.cpp
Examining data/analitza-20.08.0/analitza/commands/eigencommands.cpp
Examining data/analitza-20.08.0/analitza/commands/vectorcommands.cpp
Examining data/analitza-20.08.0/analitza/commands/eigencommands.h
Examining data/analitza-20.08.0/analitza/commands/blockmatrixcommands.cpp
Examining data/analitza-20.08.0/analitza/commands/realpower.h
Examining data/analitza-20.08.0/analitza/commands/listcommands.h
Examining data/analitza-20.08.0/analitza/commands/blockmatrixcommands.h
Examining data/analitza-20.08.0/analitza/commands/matrixqueries.cpp
Examining data/analitza-20.08.0/analitza/commands/matrixcommands.h
Examining data/analitza-20.08.0/analitza/commands/matrixqueries.h
Examining data/analitza-20.08.0/analitza/commands/listcommands.cpp
Examining data/analitza-20.08.0/analitza/commands/vectorcommands.h
Examining data/analitza-20.08.0/analitza/stringexpressionwriter.h
Examining data/analitza-20.08.0/analitza/abstractlexer.cpp
Examining data/analitza-20.08.0/analitza/stringexpressionwriter.cpp
Examining data/analitza-20.08.0/analitza/variables.h
Examining data/analitza-20.08.0/analitza/matrix.h
Examining data/analitza-20.08.0/analitza/expressiontype.h
Examining data/analitza-20.08.0/analitza/abstractexpressiontransformer.h
Examining data/analitza-20.08.0/analitza/analyzer.h
Examining data/analitza-20.08.0/analitza/mathmlpresentationexpressionwriter.h
Examining data/analitza-20.08.0/analitza/abstractexpressionvisitor.h
Examining data/analitza-20.08.0/analitza/substituteexpression.cpp
Examining data/analitza-20.08.0/analitza/customobject.h
Examining data/analitza-20.08.0/analitza/builtinmethods.cpp
Examining data/analitza-20.08.0/analitza/htmlexpressionwriter.cpp
Examining data/analitza-20.08.0/analitza/apply.cpp
Examining data/analitza-20.08.0/analitza/operations.h
Examining data/analitza-20.08.0/analitza/analitzautils.h
Examining data/analitza-20.08.0/analitza/expressiontype.cpp
Examining data/analitza-20.08.0/analitza/variable.h
Examining data/analitza-20.08.0/analitza/operator.cpp
Examining data/analitza-20.08.0/analitza/mathmlexpressionwriter.h
Examining data/analitza-20.08.0/analitza/object.cpp
Examining data/analitza-20.08.0/analitza/builtinmethods.h
Examining data/analitza-20.08.0/analitza/list.h
Examining data/analitza-20.08.0/analitza/variables.cpp
Examining data/analitza-20.08.0/analitza/htmlexpressionwriter.h
Examining data/analitza-20.08.0/analitza/importqobjectmetatype.cpp
Examining data/analitza-20.08.0/analitza/abstractexpressiontransformer.cpp
Examining data/analitza-20.08.0/analitza/expressionparser.cpp
Examining data/analitza-20.08.0/analitza/explexer.h
Examining data/analitza-20.08.0/analitza/providederivative.cpp
Examining data/analitza-20.08.0/analitza/mathmlpresentationlexer.cpp
Examining data/analitza-20.08.0/analitza/apply.h
Examining data/analitza-20.08.0/analitza/expressionstream.h
Examining data/analitza-20.08.0/analitza/analyzer.cpp
Examining data/analitza-20.08.0/analitza/providederivative.h
Examining data/analitza-20.08.0/analitza/container.h
Examining data/analitza-20.08.0/analitza/additionchains.h
Examining data/analitza-20.08.0/analitza/expressiontypechecker.h
Examining data/analitza-20.08.0/analitza/customobject.cpp
Examining data/analitza-20.08.0/analitza/container.cpp
Examining data/analitza-20.08.0/analitza/expressiontypechecker.cpp
Examining data/analitza-20.08.0/analitza/variable.cpp
Examining data/analitza-20.08.0/analitza/transformation.cpp
Examining data/analitza-20.08.0/analitza/pushvalue.h
Examining data/analitza-20.08.0/declarative/analitzadeclarativeplugin.cpp
Examining data/analitza-20.08.0/declarative/graph3ditem.cpp
Examining data/analitza-20.08.0/declarative/analitzawrapper.h
Examining data/analitza-20.08.0/declarative/analitzawrapper.cpp
Examining data/analitza-20.08.0/declarative/graph3ditem.h
Examining data/analitza-20.08.0/declarative/graph2dmobile.cpp
Examining data/analitza-20.08.0/declarative/graph2dmobile.h
Examining data/analitza-20.08.0/declarative/analitzadeclarativeplugin.h
Examining data/analitza-20.08.0/analitzaplot/plotter2d.h
Examining data/analitza-20.08.0/analitzaplot/plotitem.cpp
Examining data/analitza-20.08.0/analitzaplot/plottingenums.h
Examining data/analitza-20.08.0/analitzaplot/planecurve.h
Examining data/analitza-20.08.0/analitzaplot/plotitem.h
Examining data/analitza-20.08.0/analitzaplot/plotsmodel.h
Examining data/analitza-20.08.0/analitzaplot/plotter3d_es.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/spacecurvetest.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/planecurvetest.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/planecurvetest.h
Examining data/analitza-20.08.0/analitzaplot/tests/plotsmodeltest.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/plotsdictionarymodeltest.h
Examining data/analitza-20.08.0/analitzaplot/tests/spacecurvetest.h
Examining data/analitza-20.08.0/analitzaplot/tests/surfacetest.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/plotsdictionarymodeltest.cpp
Examining data/analitza-20.08.0/analitzaplot/tests/surfacetest.h
Examining data/analitza-20.08.0/analitzaplot/tests/plotsmodeltest.h
Examining data/analitza-20.08.0/analitzaplot/examples/audioplots.cpp
Examining data/analitza-20.08.0/analitzaplot/examples/plots2ddemo.cpp
Examining data/analitza-20.08.0/analitzaplot/examples/export3dplotdemo.cpp
Examining data/analitza-20.08.0/analitzaplot/examples/plotsdictionarydemo.cpp
Examining data/analitza-20.08.0/analitzaplot/examples/plots3ddemo.cpp
Examining data/analitza-20.08.0/analitzaplot/surface.cpp
Examining data/analitza-20.08.0/analitzaplot/spacecurve.h
Examining data/analitza-20.08.0/analitzaplot/plotsfactory.h
Examining data/analitza-20.08.0/analitzaplot/planecurve.cpp
Examining data/analitza-20.08.0/analitzaplot/plotter3d_es.h
Examining data/analitza-20.08.0/analitzaplot/plotsmodel.cpp
Examining data/analitza-20.08.0/analitzaplot/spacecurve.cpp
Examining data/analitza-20.08.0/analitzaplot/plotsdictionarymodel.h
Examining data/analitza-20.08.0/analitzaplot/functiongraph.h
Examining data/analitza-20.08.0/analitzaplot/surface.h
Examining data/analitza-20.08.0/analitzaplot/plotsdictionarymodel.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractsurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractplotitem.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractplanecurve.h
Examining data/analitza-20.08.0/analitzaplot/private/backends/parametriccurve2d.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/polarcurve.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/cylindricalsurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/implicitcurve.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/cartesiansurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/parametricsurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/sphericalsurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/cartesiancurve.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/parametriccurve3d.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/implicitpolarcurve.cpp
Examining data/analitza-20.08.0/analitzaplot/private/backends/implicitsurface.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractfunctiongraph.h
Examining data/analitza-20.08.0/analitzaplot/private/export3d.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractplotitem.h
Examining data/analitza-20.08.0/analitzaplot/private/export3d.h
Examining data/analitza-20.08.0/analitzaplot/private/abstractplanecurve.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractfunctiongraph.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractspacecurve.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/lookuptable.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/mathutils.cpp
Examining data/analitza-20.08.0/analitzaplot/private/utils/mathutils.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/quadtree.cpp
Examining data/analitza-20.08.0/analitzaplot/private/utils/marchingcubes.cpp
Examining data/analitza-20.08.0/analitzaplot/private/utils/marchingcubes.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/quadtree.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/marchingsquares.h
Examining data/analitza-20.08.0/analitzaplot/private/utils/marchingsquares.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractsurface.h
Examining data/analitza-20.08.0/analitzaplot/private/functiongraphfactory.h
Examining data/analitza-20.08.0/analitzaplot/private/functiongraphfactory.cpp
Examining data/analitza-20.08.0/analitzaplot/private/abstractspacecurve.cpp
Examining data/analitza-20.08.0/analitzaplot/plotsfactory.cpp
Examining data/analitza-20.08.0/analitzaplot/functiongraph.cpp
Examining data/analitza-20.08.0/analitzaplot/plotter2d.cpp
Examining data/analitza-20.08.0/analitzawidgets/expressionedit.h
Examining data/analitza-20.08.0/analitzawidgets/plotsview3d.cpp
Examining data/analitza-20.08.0/analitzawidgets/plotsview2d.cpp
Examining data/analitza-20.08.0/analitzawidgets/plotsview2d.h
Examining data/analitza-20.08.0/analitzawidgets/plotsview3d_es.cpp
Examining data/analitza-20.08.0/analitzawidgets/plotsview3d.h
Examining data/analitza-20.08.0/analitzawidgets/plotsview3d_es.h
Examining data/analitza-20.08.0/analitzawidgets/expressionedit.cpp
Examining data/analitza-20.08.0/analitzagui/variablesmodel.cpp
Examining data/analitza-20.08.0/analitzagui/tests/operatorsmodeltest.h
Examining data/analitza-20.08.0/analitzagui/tests/operatorsmodeltest.cpp
Examining data/analitza-20.08.0/analitzagui/variablesmodel.h
Examining data/analitza-20.08.0/analitzagui/operatorsmodel.cpp
Examining data/analitza-20.08.0/analitzagui/operatorsmodel.h
Examining data/analitza-20.08.0/analitzagui/algebrahighlighter.cpp
Examining data/analitza-20.08.0/analitzagui/algebrahighlighter.h

FINAL RESULTS:

data/analitza-20.08.0/analitza/analyzer.cpp:64: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).
        bool a=f->open(QFile::WriteOnly);
data/analitza-20.08.0/analitza/operator.h:131:22:  [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.
        static const char words[nOfOps][14];
data/analitza-20.08.0/analitzaplot/plotsdictionarymodel.cpp:45:16:  [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 (device.open(QFile::ReadOnly | QFile::Text)) {
data/analitza-20.08.0/analitzaplot/private/export3d.cpp:79:12:  [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(QIODevice::WriteOnly | QIODevice::Text)) {
data/analitza-20.08.0/analitzaplot/private/export3d.cpp:126:12:  [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(QIODevice::WriteOnly | QIODevice::Text)) {
data/analitza-20.08.0/analitzaplot/private/utils/marchingcubes.cpp:1066:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy( i_triangles, temp, i_Ntrigs*sizeof(Triangle) ) ;
data/analitza-20.08.0/analitzaplot/private/utils/marchingcubes.cpp:1143:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy( i_vertices, temp, i_Nverts*sizeof(Vertex) ) ;
data/analitza-20.08.0/analitzaplot/private/utils/marchingcubes.cpp:1474:22:  [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       *fp = fopen( fn, "w" );
data/analitza-20.08.0/analitza/abstractexpressiontransformer.cpp:84:10:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    ret->ulimit()=walk(pattern->ulimit());
data/analitza-20.08.0/analitza/abstractexpressiontransformer.cpp:84:33:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    ret->ulimit()=walk(pattern->ulimit());
data/analitza-20.08.0/analitza/analitzautils.cpp:91:27:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            Object* ul=c->ulimit(), *dl=c->dlimit(), *domain=c->domain();
data/analitza-20.08.0/analitza/analitzautils.cpp:197:35:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    bool found=hasTheVar(vars, a->ulimit()) || hasTheVar(vars, a->dlimit()) || hasTheVar(vars, a->domain());
data/analitza-20.08.0/analitza/analitzautils.cpp:263:27:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            Object* ul=c->ulimit(), *dl=c->dlimit(), *dn=c->domain();
data/analitza-20.08.0/analitza/analitzautils.cpp:327:15:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        if(c->ulimit()) { qDebug() << prefix().constData() << "ul: "; visitNow(c->ulimit()); }
data/analitza-20.08.0/analitza/analitzautils.cpp:327:83:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        if(c->ulimit()) { qDebug() << prefix().constData() << "ul: "; visitNow(c->ulimit()); }
data/analitza-20.08.0/analitza/analitzautils.cpp:565:48:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            a->dlimit()=replaceDepth(depth, a->ulimit(), towhat);
data/analitza-20.08.0/analitza/analitzautils.cpp:566:16:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            a->ulimit()=replaceDepth(depth, a->dlimit(), towhat);
data/analitza-20.08.0/analitza/analitzautils.cpp:617:39:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            ret+=countDepth(depth, a->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:491:27:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                    if(r->ulimit()) {
data/analitza-20.08.0/analitza/analyzer.cpp:492:53:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                        QScopedPointer<Object> o(r->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:493:28:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                        r->ulimit()=eval(r->ulimit(), resolve, unscoped);
data/analitza-20.08.0/analitza/analyzer.cpp:493:45:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                        r->ulimit()=eval(r->ulimit(), resolve, unscoped);
data/analitza-20.08.0/analitza/analyzer.cpp:496:71:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                    resolved=r->dlimit()->type()==Object::value && r->ulimit()->type()==Object::value;
data/analitza-20.08.0/analitza/analyzer.cpp:500:146:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                    BoundingIterator *it = r->domain()? initBVarsContainer(r, top, r->domain()->copy()) : initBVarsRange(r, top, r->dlimit(), r->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:512:32:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                            r->ulimit()=nullptr;
data/analitza-20.08.0/analitza/analyzer.cpp:898:31:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        Object *objul=calc(n->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1342:19:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            if(c->ulimit()) c->ulimit()=simp(c->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1342:32:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            if(c->ulimit()) c->ulimit()=simp(c->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1342:49:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            if(c->ulimit()) c->ulimit()=simp(c->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1346:32:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            Object *uplimit=c->ulimit(), *downlimit=c->dlimit(), *domain=c->domain();
data/analitza-20.08.0/analitza/analyzer.cpp:1547:19:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            if(c->ulimit())
data/analitza-20.08.0/analitza/analyzer.cpp:1548:20:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                c->ulimit()=simp(c->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1548:37:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
                c->ulimit()=simp(c->ulimit());
data/analitza-20.08.0/analitza/analyzer.cpp:1990:8:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    o->ulimit()=applyAlpha(o->ulimit(), min);
data/analitza-20.08.0/analitza/analyzer.cpp:1990:31:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    o->ulimit()=applyAlpha(o->ulimit(), min);
data/analitza-20.08.0/analitza/analyzer.h:216:92:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        BoundingIterator* initBVarsRange(const Apply* n, int base, Object* dlimit, Object* ulimit);
data/analitza-20.08.0/analitza/apply.cpp:111:18:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    eq &= bool(a.ulimit())==bool(m_ulimit);
data/analitza-20.08.0/analitza/apply.h:67:17:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        Object* ulimit() const { return m_ulimit; }
data/analitza-20.08.0/analitza/apply.h:71:18:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        Object*& ulimit() { return m_ulimit; }
data/analitza-20.08.0/analitza/expression.cpp:177:17:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        if(!(c->ulimit() && c->dlimit()) && !c->domain()) {
data/analitza-20.08.0/analitza/expression.cpp:374:27:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            Object* ul=c->ulimit(), *dl=c->dlimit(), *dn=c->domain();
data/analitza-20.08.0/analitza/expression.cpp:883:27:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            renameTree(a->ulimit(), depth, newName);
data/analitza-20.08.0/analitza/expressiontypechecker.cpp:435:23:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        Object* ul=c->ulimit();
data/analitza-20.08.0/analitza/htmlexpressionwriter.cpp:145:11:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    if(a->ulimit() || a->dlimit()) {
data/analitza-20.08.0/analitza/htmlexpressionwriter.cpp:150:15:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        if(a->ulimit())
data/analitza-20.08.0/analitza/htmlexpressionwriter.cpp:151:26:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            bounds += a->ulimit()->accept(this).toString();
data/analitza-20.08.0/analitza/mathmlexpressionwriter.cpp:135:11:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    if(a->ulimit()) ret += "<uplimit>"+a->ulimit()->accept(this).toString()+"</uplimit>";
data/analitza-20.08.0/analitza/mathmlexpressionwriter.cpp:135:43:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    if(a->ulimit()) ret += "<uplimit>"+a->ulimit()->accept(this).toString()+"</uplimit>";
data/analitza-20.08.0/analitza/mathmlpresentationexpressionwriter.cpp:121:28:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    QString ul="<mrow>"+c->ulimit()->toString()+"</mrow>";
data/analitza-20.08.0/analitza/mathmlpresentationexpressionwriter.cpp:170:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            joinOp<&equal>,
data/analitza-20.08.0/analitza/mathmlpresentationexpressionwriter.cpp:329:33:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            const Object *ul=a->ulimit(), *dl=a->dlimit();
data/analitza-20.08.0/analitza/stringexpressionwriter.cpp:179:11:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    if(a->ulimit() || a->dlimit()) {
data/analitza-20.08.0/analitza/stringexpressionwriter.cpp:184:15:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
        if(a->ulimit())
data/analitza-20.08.0/analitza/stringexpressionwriter.cpp:185:26:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
            bounds += a->ulimit()->accept(this).toString();
data/analitza-20.08.0/analitza/substituteexpression.cpp:44:10:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    ret->ulimit()=walk(pattern->ulimit());
data/analitza-20.08.0/analitza/substituteexpression.cpp:44:33:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    ret->ulimit()=walk(pattern->ulimit());
data/analitza-20.08.0/analitzaplot/private/backends/parametriccurve2d.cpp:88:28:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    for(double t=dlimit; t<ulimit; t+=inv_res, ++i) {
data/analitza-20.08.0/analitzaplot/private/backends/parametriccurve3d.cpp:69:28:  [1] (obsolete) ulimit:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2),
  setrlimit(2), and sysconf(3) instead.
    for(double t=dlimit; t<ulimit; t+=inv_res) {

ANALYSIS SUMMARY:

Hits = 58
Lines analyzed = 39236 in approximately 1.33 seconds (29570 lines/second)
Physical Source Lines of Code (SLOC) = 27030
Hits@level = [0]   3 [1]  50 [2]   8 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  61 [1+]  58 [2+]   8 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 2.25675 [1+] 2.14576 [2+] 0.295967 [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.