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/libbpp-core-2.4.1/src/Bpp/App/ApplicationTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/App/ApplicationTools.h Examining data/libbpp-core-2.4.1/src/Bpp/App/BppApplication.cpp Examining data/libbpp-core-2.4.1/src/Bpp/App/BppApplication.h Examining data/libbpp-core-2.4.1/src/Bpp/App/NumCalcApplicationTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/App/NumCalcApplicationTools.h Examining data/libbpp-core-2.4.1/src/Bpp/BppBoolean.h Examining data/libbpp-core-2.4.1/src/Bpp/BppString.cpp Examining data/libbpp-core-2.4.1/src/Bpp/BppString.h Examining data/libbpp-core-2.4.1/src/Bpp/BppVector.h Examining data/libbpp-core-2.4.1/src/Bpp/Clonable.h Examining data/libbpp-core-2.4.1/src/Bpp/Exceptions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Exceptions.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationDAGraphImplObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationDAGraphObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationGraphImplObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationGraphObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationTreeGraphImplObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/AssociationTreeGraphObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/DAGraph.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/DAGraphImpl.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/GlobalGraph.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graph/GlobalGraph.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/Graph.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/GraphObserver.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/TreeGraph.h Examining data/libbpp-core-2.4.1/src/Bpp/Graph/TreeGraphImpl.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/AbstractGraphicDevice.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/ColorManager.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/ColorSet.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/ColorTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/ColorTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/DefaultColorSet.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigGraphicDevice.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigGraphicDevice.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigLaTeXFontManager.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigLaTeXFontManager.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigPostscriptFontManager.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Fig/XFigPostscriptFontManager.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Font/Font.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Font/Font.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Font/FontManager.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/GraphicDevice.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/GraphicDevice.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Latex/DvipsColorSet.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Latex/DvipsColorSet.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Latex/PgfGraphicDevice.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Latex/PgfGraphicDevice.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Molscript/MolscriptColorSet.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Molscript/MolscriptColorSet.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Point2D.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Point2DTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/R/RColorSet.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/R/RColorSet.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/RgbColor.h Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Svg/SvgGraphicDevice.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Graphics/Svg/SvgGraphicDevice.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/BppOParametrizableFormat.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Io/BppOParametrizableFormat.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/FileTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Io/FileTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/IoDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/IoDiscreteDistributionFactory.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Io/IoDiscreteDistributionFactory.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/IoFormat.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/IoParametrizable.h Examining data/libbpp-core-2.4.1/src/Bpp/Io/OutputStream.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AbstractParameterAliasable.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AbstractParameterAliasable.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AbstractParametrizable.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AbstractParametrizable.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AdaptiveKernelDensityEstimation.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AdaptiveKernelDensityEstimation.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AutoParameter.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/AutoParameter.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Constraints.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/DataTable.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/DataTable.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/AbstractNumericalDerivative.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/AbstractOptimizer.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/AbstractOptimizer.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/BfgsMultiDimensions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/BfgsMultiDimensions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/BrentOneDimension.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/BrentOneDimension.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ConjugateGradientMultiDimensions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ConjugateGradientMultiDimensions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/DirectionFunction.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/DirectionFunction.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/DownhillSimplexMethod.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/DownhillSimplexMethod.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/FivePointsNumericalDerivative.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/FivePointsNumericalDerivative.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/FunctionTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/FunctionTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Functions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/GoldenSectionSearch.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/GoldenSectionSearch.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/MetaOptimizer.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/MetaOptimizer.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/NewtonBacktrackOneDimension.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/NewtonBacktrackOneDimension.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/NewtonOneDimension.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/NewtonOneDimension.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/OneDimensionOptimizationTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/OneDimensionOptimizationTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/BinaryOperator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/ComputationTree.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/ComputationTree.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/ConstantOperator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/FunctionOperator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/MathOperator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/NegativeOperator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Operators/Operator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/OptimizationStopCondition.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/OptimizationStopCondition.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/Optimizer.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/PowellMultiDimensions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/PowellMultiDimensions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ReparametrizationFunctionWrapper.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ReparametrizationFunctionWrapper.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/SimpleMultiDimensions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/SimpleMultiDimensions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/SimpleNewtonMultiDimensions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/SimpleNewtonMultiDimensions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ThreePointsNumericalDerivative.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/ThreePointsNumericalDerivative.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/TwoPointsNumericalDerivative.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Function/TwoPointsNumericalDerivative.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/AbstractHmmTransitionMatrix.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/AbstractHmmTransitionMatrix.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/AutoCorrelationTransitionMatrix.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/AutoCorrelationTransitionMatrix.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/FullHmmTransitionMatrix.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/FullHmmTransitionMatrix.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmEmissionProbabilities.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmExceptions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmLikelihood.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmLikelihood.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmStateAlphabet.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/HmmTransitionMatrix.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/LogsumHmmLikelihood.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/LogsumHmmLikelihood.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/LowMemoryRescaledHmmLikelihood.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/LowMemoryRescaledHmmLikelihood.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/RescaledHmmLikelihood.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Hmm/RescaledHmmLikelihood.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/IntegerTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Matrix/EigenValue.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Matrix/LUDecomposition.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Matrix/Matrix.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Matrix/MatrixTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/NumConstants.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/NumTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/NumTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Number.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Parameter.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Parameter.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParameterAliasable.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParameterExceptions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParameterExceptions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParameterList.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParameterList.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Parametrizable.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/ParametrizableCollection.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/AbstractDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/AbstractDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/BetaDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/BetaDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/ConstantDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/ConstantDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/DirichletDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/DirichletDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/DiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/ExponentialDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/ExponentialDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/GammaDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/GammaDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/GaussianDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/GaussianDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/InvariantMixedDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/InvariantMixedDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/MixtureOfDiscreteDistributions.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/MixtureOfDiscreteDistributions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/MultipleDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/SimpleDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/SimpleDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/Simplex.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/Simplex.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/TruncatedExponentialDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/TruncatedExponentialDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/UniformDiscreteDistribution.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Prob/UniformDiscreteDistribution.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/ContingencyTableGenerator.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/ContingencyTableGenerator.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/RandomFactory.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/RandomTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/RandomTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01K.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01K.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01QD.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01QD.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01WH.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Random/Uniform01WH.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Range.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/ContingencyTableTest.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/ContingencyTableTest.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/CorrespondenceAnalysis.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/CorrespondenceAnalysis.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/DualityDiagram.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/DualityDiagram.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/PrincipalComponentAnalysis.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/Mva/PrincipalComponentAnalysis.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/StatTest.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/StatTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Stat/StatTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/Table.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/TableExceptions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/TransformedParameter.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/VectorExceptions.h Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/VectorTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Numeric/VectorTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Text/KeyvalTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Text/KeyvalTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.h Examining data/libbpp-core-2.4.1/src/Bpp/Text/StringTokenizer.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Text/StringTokenizer.h Examining data/libbpp-core-2.4.1/src/Bpp/Text/TextTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Text/TextTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Utils/AttributesTools.cpp Examining data/libbpp-core-2.4.1/src/Bpp/Utils/AttributesTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Utils/MapTools.h Examining data/libbpp-core-2.4.1/src/Bpp/Version.h Examining data/libbpp-core-2.4.1/test/PolynomialFunction.h Examining data/libbpp-core-2.4.1/test/doctest.h Examining data/libbpp-core-2.4.1/test/test_bfgs.cpp Examining data/libbpp-core-2.4.1/test/test_dAGraphObs.cpp Examining data/libbpp-core-2.4.1/test/test_derivative1.cpp Examining data/libbpp-core-2.4.1/test/test_distributions.cpp Examining data/libbpp-core-2.4.1/test/test_downhill.cpp Examining data/libbpp-core-2.4.1/test/test_eigen.cpp Examining data/libbpp-core-2.4.1/test/test_gradient.cpp Examining data/libbpp-core-2.4.1/test/test_graphObs.cpp Examining data/libbpp-core-2.4.1/test/test_matrices.cpp Examining data/libbpp-core-2.4.1/test/test_mva.cpp Examining data/libbpp-core-2.4.1/test/test_numconstants.cpp Examining data/libbpp-core-2.4.1/test/test_powell.cpp Examining data/libbpp-core-2.4.1/test/test_range.cpp Examining data/libbpp-core-2.4.1/test/test_reparametrization.cpp Examining data/libbpp-core-2.4.1/test/test_sample.cpp Examining data/libbpp-core-2.4.1/test/test_simplex.cpp Examining data/libbpp-core-2.4.1/test/test_stats.cpp Examining data/libbpp-core-2.4.1/test/test_text_tools.cpp Examining data/libbpp-core-2.4.1/test/test_treeGraphObs.cpp FINAL RESULTS: data/libbpp-core-2.4.1/test/doctest.h:1797:26: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define DOCTEST_SNPRINTF _snprintf data/libbpp-core-2.4.1/test/doctest.h:1799:26: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define DOCTEST_SNPRINTF snprintf data/libbpp-core-2.4.1/test/doctest.h:1978:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(m_str, in); data/libbpp-core-2.4.1/test/doctest.h:1992:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(m_str, other.m_str); data/libbpp-core-2.4.1/test/doctest.h:2009:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(newStr, m_str); data/libbpp-core-2.4.1/test/doctest.h:2010:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(newStr + my_strlen(m_str), other.m_str); data/libbpp-core-2.4.1/test/doctest.h:3284:13: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(p->rand_seed); data/libbpp-core-2.4.1/src/Bpp/Io/FileTools.cpp:97: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). stream.open(filename.c_str(), std::ios::ate); data/libbpp-core-2.4.1/src/Bpp/Numeric/ParametrizableCollection.h:164:30: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t num=(size_t)atoi(n.substr(t+1).c_str()); data/libbpp-core-2.4.1/src/Bpp/Numeric/ParametrizableCollection.h:344:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int nm=atoi(pn.substr(pu+1).c_str()); data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp:50:87: [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). NestedStringTokenizer::NestedStringTokenizer(const std::string& s, const std::string& open, const std::string& end, const std::string& delimiters, bool solid): data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp:67:62: [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). blocks += static_cast<int>(TextTools::count(token, open)) - static_cast<int>(TextTools::count(token, end)); data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp:87:62: [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). blocks += static_cast<int>(TextTools::count(token, open)) - static_cast<int>(TextTools::count(token, end)); data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp:112:62: [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). blocks += static_cast<int>(TextTools::count(token, open)) - static_cast<int>(TextTools::count(token, end)); data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.cpp:132:62: [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). blocks += static_cast<int>(TextTools::count(token, open)) - static_cast<int>(TextTools::count(token, end)); data/libbpp-core-2.4.1/src/Bpp/Text/NestedStringTokenizer.h:73:68: [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). NestedStringTokenizer(const std::string& s, const std::string& open, const std::string& end, const std::string& delimiters = " \t\n\f\r", bool solid = false); data/libbpp-core-2.4.1/test/doctest.h:382:17: [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. typedef char yes[2]; data/libbpp-core-2.4.1/test/doctest.h:1885:17: [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 asChar[sizeof(int)]; data/libbpp-core-2.4.1/test/doctest.h:2060: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2061:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%d", in); data/libbpp-core-2.4.1/test/doctest.h:2066: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2067:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%ud", in); data/libbpp-core-2.4.1/test/doctest.h:2072: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2073:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%d", in); data/libbpp-core-2.4.1/test/doctest.h:2078: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2079:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%u", in); data/libbpp-core-2.4.1/test/doctest.h:2084: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2085:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%d", in); data/libbpp-core-2.4.1/test/doctest.h:2090: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2091:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%u", in); data/libbpp-core-2.4.1/test/doctest.h:2096: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2097:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%ld", in); data/libbpp-core-2.4.1/test/doctest.h:2102: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2103:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%lu", in); data/libbpp-core-2.4.1/test/doctest.h:2109: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2110:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%lld", in); data/libbpp-core-2.4.1/test/doctest.h:2114: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 buf[64]; data/libbpp-core-2.4.1/test/doctest.h:2115:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%llu", in); data/libbpp-core-2.4.1/test/doctest.h:2708:9: [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 loc[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2711:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2721:13: [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 subcase[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2736:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2746:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2758:9: [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 loc[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2761:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2768:9: [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 info1[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2772:9: [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 info2[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2773:9: [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 info3[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2794:9: [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 loc[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2797:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2803:9: [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 info1[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2816:9: [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 loc[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2819:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2826:9: [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 info1[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2839:9: [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 loc[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2842:9: [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 msg[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:2848:9: [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 info1[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/test/doctest.h:3033:30: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int theInt = atoi(parsedValue.c_str()); data/libbpp-core-2.4.1/test/doctest.h:3415:9: [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 buff[DOCTEST_SNPRINTF_BUFFER_LENGTH]; data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.cpp:69:55: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). DiscreteDistribution* BppODiscreteDistributionFormat::read( data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.cpp:88:61: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). DiscreteDistribution* nestedDistribution = nestedReader.read(nestedDistDescription, true); data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.cpp:191:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). pdd = nestedReader.read(v_nestedDistrDescr[i], true); data/libbpp-core-2.4.1/src/Bpp/Io/BppODiscreteDistributionFormat.h:72:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). DiscreteDistribution* read(const std::string& distDescription, bool parseArguments = true); data/libbpp-core-2.4.1/src/Bpp/Io/IoDiscreteDistribution.h:83:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual DiscreteDistribution* read( data/libbpp-core-2.4.1/src/Bpp/Numeric/DataTable.cpp:598:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). DataTable* DataTable::read(istream& in, const string& sep, bool header, int rowNames) data/libbpp-core-2.4.1/src/Bpp/Numeric/DataTable.h:447:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static DataTable* read(std::istream& in, const std::string& sep = "\t", bool header = true, int rowNames = -1); data/libbpp-core-2.4.1/src/Bpp/Numeric/Table.h:1072:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static Table<T>* read(std::istream& in, bool byRow, const std::string& sep = "\t", bool header = true, int names = -1) data/libbpp-core-2.4.1/src/Bpp/Text/TextTools.cpp:424:19: [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. return std::equal(pattern.begin(), pattern.end(), s.begin()); data/libbpp-core-2.4.1/src/Bpp/Text/TextTools.cpp:433:19: [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. return std::equal(pattern.rbegin(), pattern.rend(), s.rbegin()); ANALYSIS SUMMARY: Hits = 69 Lines analyzed = 60613 in approximately 1.94 seconds (31203 lines/second) Physical Source Lines of Code (SLOC) = 31127 Hits@level = [0] 49 [1] 10 [2] 52 [3] 1 [4] 6 [5] 0 Hits@level+ = [0+] 118 [1+] 69 [2+] 59 [3+] 7 [4+] 6 [5+] 0 Hits/KSLOC@level+ = [0+] 3.79092 [1+] 2.21673 [2+] 1.89546 [3+] 0.224885 [4+] 0.192759 [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.