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.