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/brial-1.2.10/cudd/cudd.h Examining data/brial-1.2.10/cudd/cuddAPI.c Examining data/brial-1.2.10/cudd/cuddAddAbs.c Examining data/brial-1.2.10/cudd/cuddAddApply.c Examining data/brial-1.2.10/cudd/cuddAddFind.c Examining data/brial-1.2.10/cudd/cuddAddInv.c Examining data/brial-1.2.10/cudd/cuddAddIte.c Examining data/brial-1.2.10/cudd/cuddAddNeg.c Examining data/brial-1.2.10/cudd/cuddAddWalsh.c Examining data/brial-1.2.10/cudd/cuddAndAbs.c Examining data/brial-1.2.10/cudd/cuddAnneal.c Examining data/brial-1.2.10/cudd/cuddApa.c Examining data/brial-1.2.10/cudd/cuddApprox.c Examining data/brial-1.2.10/cudd/cuddBddAbs.c Examining data/brial-1.2.10/cudd/cuddBddCorr.c Examining data/brial-1.2.10/cudd/cuddBddIte.c Examining data/brial-1.2.10/cudd/cuddBridge.c Examining data/brial-1.2.10/cudd/cuddCache.c Examining data/brial-1.2.10/cudd/cuddCheck.c Examining data/brial-1.2.10/cudd/cuddClip.c Examining data/brial-1.2.10/cudd/cuddCof.c Examining data/brial-1.2.10/cudd/cuddCompose.c Examining data/brial-1.2.10/cudd/cuddDecomp.c Examining data/brial-1.2.10/cudd/cuddEssent.c Examining data/brial-1.2.10/cudd/cuddExact.c Examining data/brial-1.2.10/cudd/cuddExport.c Parsing failed to find end of parameter list; semicolon terminated it in (fp, "n%p = v%u * n%p + v%u' * n%p%s\n", #else retval = fprintf(fp, "n%p = v%hu * n%p + v%hu' * n%p%s\n", #endif (void *) id, f->index, (void *) idT, f->index, (void *) idE, Cudd_IsComple Examining data/brial-1.2.10/cudd/cuddGenCof.c Examining data/brial-1.2.10/cudd/cuddGenetic.c Examining data/brial-1.2.10/cudd/cuddGroup.c Examining data/brial-1.2.10/cudd/cuddHarwell.c Examining data/brial-1.2.10/cudd/cuddInit.c Examining data/brial-1.2.10/cudd/cuddInt.h Examining data/brial-1.2.10/cudd/cuddInteract.c Examining data/brial-1.2.10/cudd/cuddLCache.c Examining data/brial-1.2.10/cudd/cuddLevelQ.c Examining data/brial-1.2.10/cudd/cuddLinear.c Examining data/brial-1.2.10/cudd/cuddLiteral.c Examining data/brial-1.2.10/cudd/cuddMatMult.c Examining data/brial-1.2.10/cudd/cuddPriority.c Examining data/brial-1.2.10/cudd/cuddRead.c Examining data/brial-1.2.10/cudd/cuddRef.c Examining data/brial-1.2.10/cudd/cuddReorder.c Examining data/brial-1.2.10/cudd/cuddSat.c Examining data/brial-1.2.10/cudd/cuddSign.c Examining data/brial-1.2.10/cudd/cuddSolve.c Examining data/brial-1.2.10/cudd/cuddSplit.c Examining data/brial-1.2.10/cudd/cuddSubsetHB.c Examining data/brial-1.2.10/cudd/cuddSubsetSP.c Examining data/brial-1.2.10/cudd/cuddSymmetry.c Examining data/brial-1.2.10/cudd/cuddTable.c Examining data/brial-1.2.10/cudd/cuddUtil.c Examining data/brial-1.2.10/cudd/cuddWindow.c Examining data/brial-1.2.10/cudd/cuddZddCount.c Examining data/brial-1.2.10/cudd/cuddZddFuncs.c Examining data/brial-1.2.10/cudd/cuddZddGroup.c Examining data/brial-1.2.10/cudd/cuddZddIsop.c Examining data/brial-1.2.10/cudd/cuddZddLin.c Examining data/brial-1.2.10/cudd/cuddZddMisc.c Examining data/brial-1.2.10/cudd/cuddZddPort.c Examining data/brial-1.2.10/cudd/cuddZddReord.c Examining data/brial-1.2.10/cudd/cuddZddSetop.c Examining data/brial-1.2.10/cudd/cuddZddSymm.c Examining data/brial-1.2.10/cudd/cuddZddUtil.c Examining data/brial-1.2.10/cudd/testcudd.c Examining data/brial-1.2.10/cudd/util.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/BitMask.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/BlockOrderHelper.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/BoundedDivisorsOf.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ChainCriterion.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ChainVariableCriterion.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/CheckChainCriterion.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/CountCriterion.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/DegOrderHelper.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ExpGreater.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ExpLexLess.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/FGLMStrategy.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/GetNthPoly.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/GroebnerOptions.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/GroebnerStrategy.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/HasTRepOrExtendedProductCriterion.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/IJPairData.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/IsEcart0Predicate.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/IsVariableOfIndex.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LLReduction.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LLReductor.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LMLessCompare.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LMLessComparePS.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LargerDegreeComparer.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LeadingTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LeadingTerms00.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LeadingTerms11.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LessCombinedManySizesInStrat.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LessEcartThenLessWeightedLengthInStrat.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LessUsedTailVariablesThenLessWeightedLengthInStrat.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LessWeightedLengthInStrat.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LessWeightedLengthInStratModified.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LexBucket.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LexHelper.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LexOrderGreaterComparer.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LiteralFactorization.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/LiteralFactorizationIterator.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/Long64From32BitsPair.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/MatrixMonomialOrderTables.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/MinimalLeadingTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/MonomialHasher.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/MonomialPlusOneTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/MonomialTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/NBitsUsed.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/NextSpoly.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PSCompareByEl.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairData.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairE.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairECompare.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairLS.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairLSCompare.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairManager.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairManagerFacade.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PairStatusSet.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntry.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntryBase.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntryIndices.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntryPtrLmLess.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntryReference.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyEntryVector.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyFromPolyEntry.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyMonomialPairComparerLess.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyMonomialPairComparerLexLess.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolyPairData.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PolynomialSugar.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PseudoLongLong.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/PseudoLongProduct.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/RankingVector.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/RedTailNth.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ReductionOptions.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ReductionStrategy.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ReductionTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/RelatedTerms.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/RelatedTermsBase.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/SetAssociatedMinimal.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/SetBitUInt.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ShorterEliminationLength.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ShorterEliminationLengthModified.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/SlimgbReduction.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/TermsFacade.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/TimesConstantImplication.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/TimesVariableSubstitution.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/VariablePairData.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ZeroFunction.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/add_up.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/cache_manager.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/contained_variables.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/dlex4data.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/dp_asc4data.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/draw_matrix.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/fixed_path_divisors.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/groebner.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/groebner_alg.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/groebner_defs.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/interpolate.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/linear_algebra_step.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/ll_red_nf.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/lp4data.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/minimal_elements.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/nf.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/pairs.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/polynomial_properties.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/randomset.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/red_tail.h Examining data/brial-1.2.10/groebner/include/polybori/groebner/tables.h Examining data/brial-1.2.10/groebner/src/FGLMStrategy.cc Examining data/brial-1.2.10/groebner/src/GroebnerStrategy.cc Examining data/brial-1.2.10/groebner/src/LexBucket.cc Examining data/brial-1.2.10/groebner/src/LiteralFactorization.cc Examining data/brial-1.2.10/groebner/src/LiteralFactorizationIterator.cc Examining data/brial-1.2.10/groebner/src/MatrixMonomialOrderTables.cc Examining data/brial-1.2.10/groebner/src/PairManager.cc Examining data/brial-1.2.10/groebner/src/PolyEntry.cc Examining data/brial-1.2.10/groebner/src/ReductionStrategy.cc Examining data/brial-1.2.10/groebner/src/dlex4data.cc Examining data/brial-1.2.10/groebner/src/dp_asc4data.cc Examining data/brial-1.2.10/groebner/src/groebner.cc Examining data/brial-1.2.10/groebner/src/groebner_alg.cc Examining data/brial-1.2.10/groebner/src/interpolate.cc Examining data/brial-1.2.10/groebner/src/lp4data.cc Examining data/brial-1.2.10/groebner/src/nf.cc Examining data/brial-1.2.10/groebner/src/pairs.cc Examining data/brial-1.2.10/groebner/src/polynomial_properties.cc Examining data/brial-1.2.10/groebner/src/randomset.cc Examining data/brial-1.2.10/libbrial/include/polybori.h Examining data/brial-1.2.10/libbrial/include/polybori/BlockDegLexOrder.h Examining data/brial-1.2.10/libbrial/include/polybori/BlockDegRevLexAscOrder.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleConstant.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleEnv.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleExponent.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleMonomial.h Examining data/brial-1.2.10/libbrial/include/polybori/BoolePolyRing.h Examining data/brial-1.2.10/libbrial/include/polybori/BoolePolynomial.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleSet.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleSetSequence.h Examining data/brial-1.2.10/libbrial/include/polybori/BooleVariable.h Examining data/brial-1.2.10/libbrial/include/polybori/DegLexOrder.h Examining data/brial-1.2.10/libbrial/include/polybori/DegRevLexAscOrder.h Examining data/brial-1.2.10/libbrial/include/polybori/LexOrder.h Examining data/brial-1.2.10/libbrial/include/polybori/cache/CCacheManagement.h Examining data/brial-1.2.10/libbrial/include/polybori/cache/CDegreeCache.h Examining data/brial-1.2.10/libbrial/include/polybori/cache/CacheManager.h Examining data/brial-1.2.10/libbrial/include/polybori/common/CCheckedIdx.h Examining data/brial-1.2.10/libbrial/include/polybori/common/CExtrusivePtr.h Examining data/brial-1.2.10/libbrial/include/polybori/common/CWeakPtr.h Examining data/brial-1.2.10/libbrial/include/polybori/common/CWeakPtrFacade.h Examining data/brial-1.2.10/libbrial/include/polybori/common/TransformedSequence.h Examining data/brial-1.2.10/libbrial/include/polybori/common/tags.h Examining data/brial-1.2.10/libbrial/include/polybori/common/traits.h Examining data/brial-1.2.10/libbrial/include/polybori/cudd/cudd.h Examining data/brial-1.2.10/libbrial/include/polybori/cudd/cuddInt.h Examining data/brial-1.2.10/libbrial/include/polybori/cudd/prefix.h Examining data/brial-1.2.10/libbrial/include/polybori/cudd/prefix_internal.h Examining data/brial-1.2.10/libbrial/include/polybori/diagram/CApplyNodeFacade.h Examining data/brial-1.2.10/libbrial/include/polybori/diagram/CCuddDDFacade.h Examining data/brial-1.2.10/libbrial/include/polybori/diagram/CDDOperations.h Examining data/brial-1.2.10/libbrial/include/polybori/diagram/CNodeCounter.h Examining data/brial-1.2.10/libbrial/include/polybori/except/CErrorInfo.h Examining data/brial-1.2.10/libbrial/include/polybori/except/PBoRiError.h Examining data/brial-1.2.10/libbrial/include/polybori/except/PBoRiGenericError.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/CFactoryBase.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/MonomialFactory.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/PolynomialFactory.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/SetFactory.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/VariableBlock.h Examining data/brial-1.2.10/libbrial/include/polybori/factories/VariableFactory.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CBidirectTermIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CCuddFirstIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CCuddLastIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CCuddNavigator.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CExpIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CGenericIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/COrderedIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CStackSelector.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CTermGenerator.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CTermIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CTermStack.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/CVariableIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/PBoRiOutIter.h Examining data/brial-1.2.10/libbrial/include/polybori/iterators/TransformedIterator.h Examining data/brial-1.2.10/libbrial/include/polybori/literals/CLiteralCodes.h Examining data/brial-1.2.10/libbrial/include/polybori/literals/CStringLiteral.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/CBlockOrderingFacade.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/COrderingBase.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/COrderingFacade.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/COrderingTags.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/order_tags.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/order_traits.h Examining data/brial-1.2.10/libbrial/include/polybori/orderings/pbori_order.h Examining data/brial-1.2.10/libbrial/include/polybori/pbori_defs.h Examining data/brial-1.2.10/libbrial/include/polybori/polybori.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/CCallbackWrapper.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/CCuddCore.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/CCuddInterface.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/CMemberFunctionTraits.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/CVariableNames.h Examining data/brial-1.2.10/libbrial/include/polybori/ring/WeakRingPtr.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_algo.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_algo_int.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_algorithms.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_func.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines_cuddext.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines_dd.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines_hash.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines_misc.h Examining data/brial-1.2.10/libbrial/include/polybori/routines/pbori_routines_order.h Examining data/brial-1.2.10/libbrial/src/BlockDegLexOrder.cc Examining data/brial-1.2.10/libbrial/src/BlockDegRevLexAscOrder.cc Examining data/brial-1.2.10/libbrial/src/BooleEnv.cc Examining data/brial-1.2.10/libbrial/src/BooleExponent.cc Examining data/brial-1.2.10/libbrial/src/BooleMonomial.cc Examining data/brial-1.2.10/libbrial/src/BoolePolyRing.cc Examining data/brial-1.2.10/libbrial/src/BoolePolynomial.cc Examining data/brial-1.2.10/libbrial/src/BooleSet.cc Examining data/brial-1.2.10/libbrial/src/BooleVariable.cc Examining data/brial-1.2.10/libbrial/src/CCheckedIdx.cc Examining data/brial-1.2.10/libbrial/src/CCuddFirstIter.cc Examining data/brial-1.2.10/libbrial/src/CCuddLastIter.cc Examining data/brial-1.2.10/libbrial/src/COrderingBase.cc Examining data/brial-1.2.10/libbrial/src/DegLexOrder.cc Examining data/brial-1.2.10/libbrial/src/DegRevLexAscOrder.cc Examining data/brial-1.2.10/libbrial/src/LexOrder.cc Examining data/brial-1.2.10/libbrial/src/PBoRiError.cc Examining data/brial-1.2.10/libbrial/src/pbori_routines.cc Examining data/brial-1.2.10/libbrial/src/CErrorInfo.cc Examining data/brial-1.2.10/tests/BlockDegLexOrderTest.cc Examining data/brial-1.2.10/tests/BlockDegRevLexAscOrderTest.cc Examining data/brial-1.2.10/tests/BooleConstantTest.cc Examining data/brial-1.2.10/tests/BooleEnvTest.cc Examining data/brial-1.2.10/tests/BooleExponentTest.cc Examining data/brial-1.2.10/tests/BooleMonomialTest.cc Examining data/brial-1.2.10/tests/BoolePolyRingTest.cc Examining data/brial-1.2.10/tests/BoolePolynomialTest.cc Examining data/brial-1.2.10/tests/BooleSetTest.cc Examining data/brial-1.2.10/tests/BooleVariableTest.cc Examining data/brial-1.2.10/tests/CCuddDDFacadeTest.cc Examining data/brial-1.2.10/tests/CFactoryBaseTest.cc Examining data/brial-1.2.10/tests/CStringLiteralTest.cc Examining data/brial-1.2.10/tests/DegLexOrderTest.cc Examining data/brial-1.2.10/tests/DegRevLexAscOrderTest.cc Examining data/brial-1.2.10/tests/FGLMStrategyTest.cc Examining data/brial-1.2.10/tests/GroebnerStrategyTest.cc Examining data/brial-1.2.10/tests/LexOrderTest.cc Examining data/brial-1.2.10/tests/MonomialFactoryTest.cc Examining data/brial-1.2.10/tests/PBoRiErrorTest.cc Examining data/brial-1.2.10/tests/PolynomialFactoryTest.cc Examining data/brial-1.2.10/tests/PseudoLongProductTest.cc Examining data/brial-1.2.10/tests/SetFactoryTest.cc Examining data/brial-1.2.10/tests/VariableFactoryTest.cc Examining data/brial-1.2.10/tests/spolyTest.cc Examining data/brial-1.2.10/tests/term_accumulateTest.cc Examining data/brial-1.2.10/tests/unittests.cc Examining data/brial-1.2.10/tests/weak_pointersTest.cc FINAL RESULTS: data/brial-1.2.10/cudd/cuddApa.c:536:11: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. result = fprintf(fp,DD_APA_HEXPRINT,number[i]); data/brial-1.2.10/cudd/cuddExport.c:277:15: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. retval = fprintf(fp, data/brial-1.2.10/cudd/cuddExport.c:284:15: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. retval = fprintf(fp, data/brial-1.2.10/cudd/cuddExport.c:1180:11: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. retval = fprintf(fp, data/brial-1.2.10/cudd/cuddInt.h:1006:51: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. if (dd->recursiveCalls == dd->nextSample) {(void) fprintf(dd->err, \ data/brial-1.2.10/cudd/cuddUtil.c:1490:7: [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(saveString, string[i]); data/brial-1.2.10/cudd/cuddUtil.c:1503:4: [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(saveString, string[i]); data/brial-1.2.10/cudd/cuddUtil.c:1526:3: [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(string[i], saveString); data/brial-1.2.10/cudd/cuddZddMisc.c:194:10: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. (void) fprintf(table->out, data/brial-1.2.10/cudd/testcudd.c:178:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((c = getopt(argc, argv, "CDHMPS:a:bcd:g:hkmn:p:v:x:X:")) data/brial-1.2.10/cudd/cuddHarwell.c:145: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 title[73], key[9], mxtype[4], rhstyp[4]; data/brial-1.2.10/cudd/cuddLCache.c:306:5: [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(entry->key,key,cache->keysize * sizeof(DdNode *)); data/brial-1.2.10/cudd/cuddLCache.c:1287:6: [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(entry->key,old->key,cache->keysize*sizeof(DdNode *)); data/brial-1.2.10/cudd/testcudd.c:199:15: [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). nslots = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:202: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). maxMemory = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:205:17: [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). approach = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:217:19: [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). groupcheck = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:226:10: [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). N = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:229:11: [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). pr = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:232:14: [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). nvars = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:235: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). cacheSize = atoi(optarg); data/brial-1.2.10/cudd/testcudd.c:617:27: [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). Cudd_SetStdout(dd,fopen("/dev/null","a")); data/brial-1.2.10/cudd/testcudd.c:728: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). } else if ((fp = fopen(filename, mode)) == NULL) { data/brial-1.2.10/groebner/include/polybori/groebner/draw_matrix.h:56:16: [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 * out = fopen(filename, "wb") ; data/brial-1.2.10/groebner/src/FGLMStrategy.cc:334: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 matname[255]; data/brial-1.2.10/groebner/src/FGLMStrategy.cc:335:13: [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(matname,"mult_table%d.png",(int)i); data/brial-1.2.10/groebner/src/FGLMStrategy.cc:444: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 matname[255]; data/brial-1.2.10/groebner/src/FGLMStrategy.cc:445:13: [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(matname,"row_combined%d.png",round); data/brial-1.2.10/groebner/src/FGLMStrategy.cc:456: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 matname[255]; data/brial-1.2.10/groebner/src/FGLMStrategy.cc:457:13: [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(matname,"col_reduced%d.png",round); data/brial-1.2.10/libbrial/src/BoolePolyRing.cc:111:5: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). f = tmpfile(); data/brial-1.2.10/libbrial/src/BoolePolyRing.cc:122:15: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). FILE* out = tmpfile(); data/brial-1.2.10/libbrial/src/BoolePolyRing.cc:129: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 str_buf[LINE_MAX]; data/brial-1.2.10/cudd/cuddHarwell.c:178:11: [1] (buffer) fscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. err = fscanf(fp, "%3s %d %d %d %d", mxtype, &nrow, &ncol, data/brial-1.2.10/cudd/cuddLCache.c:778:6: [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. if (equal) { data/brial-1.2.10/libbrial/include/polybori/iterators/CCuddFirstIter.h:76:13: [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. bool_type equal (const self& rhs) const { return (m_navi == rhs.m_navi); } data/brial-1.2.10/libbrial/include/polybori/iterators/COrderedIter.h:152:8: [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. bool equal(const self& rhs) const { data/brial-1.2.10/libbrial/include/polybori/iterators/COrderedIter.h:153: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. return p_iter->equal(*rhs.p_iter); } data/brial-1.2.10/libbrial/include/polybori/iterators/CTermIter.h:108:13: [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. bool_type equal (const CTermIter& rhs) const { data/brial-1.2.10/libbrial/include/polybori/iterators/CTermIter.h:109: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. return m_stack.equal(rhs.m_stack); data/brial-1.2.10/libbrial/include/polybori/iterators/CTermStack.h:216:13: [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. bool_type equal(const self& rhs) const { data/brial-1.2.10/libbrial/include/polybori/iterators/CVariableIter.h:70:8: [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. bool equal(const self& rhs) const { return m_iter == rhs.m_iter; } data/brial-1.2.10/libbrial/include/polybori/iterators/TransformedIterator.h:74:8: [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. bool equal(const self& rhs) const { return m_iter == rhs.m_iter; } ANALYSIS SUMMARY: Hits = 43 Lines analyzed = 310430 in approximately 12.11 seconds (25627 lines/second) Physical Source Lines of Code (SLOC) = 263618 Hits@level = [0] 891 [1] 10 [2] 23 [3] 1 [4] 9 [5] 0 Hits@level+ = [0+] 934 [1+] 43 [2+] 33 [3+] 10 [4+] 9 [5+] 0 Hits/KSLOC@level+ = [0+] 3.54301 [1+] 0.163115 [2+] 0.125181 [3+] 0.0379337 [4+] 0.0341403 [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.