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.