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/r-cran-gbm-2.1.8/src/gbm-init.c Examining data/r-cran-gbm-2.1.8/src/pairwise.h Examining data/r-cran-gbm-2.1.8/src/node.cpp Examining data/r-cran-gbm-2.1.8/src/buildinfo.h Examining data/r-cran-gbm-2.1.8/src/node_search.cpp Examining data/r-cran-gbm-2.1.8/src/huberized.h Examining data/r-cran-gbm-2.1.8/src/matrix.h Examining data/r-cran-gbm-2.1.8/src/gaussian.cpp Examining data/r-cran-gbm-2.1.8/src/adaboost.h Examining data/r-cran-gbm-2.1.8/src/node_categorical.h Examining data/r-cran-gbm-2.1.8/src/gbm.cpp Examining data/r-cran-gbm-2.1.8/src/laplace.h Examining data/r-cran-gbm-2.1.8/src/gaussian.h Examining data/r-cran-gbm-2.1.8/src/tdist.h Examining data/r-cran-gbm-2.1.8/src/node_search.h Examining data/r-cran-gbm-2.1.8/src/tree.cpp Examining data/r-cran-gbm-2.1.8/src/bernoulli.cpp Examining data/r-cran-gbm-2.1.8/src/node_continuous.h Examining data/r-cran-gbm-2.1.8/src/tree.h Examining data/r-cran-gbm-2.1.8/src/node.h Examining data/r-cran-gbm-2.1.8/src/dataset.cpp Examining data/r-cran-gbm-2.1.8/src/bernoulli.h Examining data/r-cran-gbm-2.1.8/src/multinomial.h Examining data/r-cran-gbm-2.1.8/src/distribution.cpp Examining data/r-cran-gbm-2.1.8/src/bac/gaussian.cpp Examining data/r-cran-gbm-2.1.8/src/locationm.h Examining data/r-cran-gbm-2.1.8/src/quantile.h Examining data/r-cran-gbm-2.1.8/src/gbm.h Examining data/r-cran-gbm-2.1.8/src/node_terminal.h Examining data/r-cran-gbm-2.1.8/src/tdist.cpp Examining data/r-cran-gbm-2.1.8/src/pairwise.cpp Examining data/r-cran-gbm-2.1.8/src/node_factory.cpp Examining data/r-cran-gbm-2.1.8/src/node_nonterminal.cpp Examining data/r-cran-gbm-2.1.8/src/poisson.cpp Examining data/r-cran-gbm-2.1.8/src/gbm_engine.cpp Examining data/r-cran-gbm-2.1.8/src/laplace.cpp Examining data/r-cran-gbm-2.1.8/src/node_categorical.cpp Examining data/r-cran-gbm-2.1.8/src/dataset.h Examining data/r-cran-gbm-2.1.8/src/locationm.cpp Examining data/r-cran-gbm-2.1.8/src/quantile.cpp Examining data/r-cran-gbm-2.1.8/src/poisson.h Examining data/r-cran-gbm-2.1.8/src/adaboost.cpp Examining data/r-cran-gbm-2.1.8/src/node_nonterminal.h Examining data/r-cran-gbm-2.1.8/src/gbm_engine.h Examining data/r-cran-gbm-2.1.8/src/multinomial.cpp Examining data/r-cran-gbm-2.1.8/src/distribution.h Examining data/r-cran-gbm-2.1.8/src/coxph.cpp Examining data/r-cran-gbm-2.1.8/src/node_factory.h Examining data/r-cran-gbm-2.1.8/src/huberized.cpp Examining data/r-cran-gbm-2.1.8/src/node_continuous.cpp Examining data/r-cran-gbm-2.1.8/src/gbmentry.cpp Examining data/r-cran-gbm-2.1.8/src/coxph.h Examining data/r-cran-gbm-2.1.8/src/node_terminal.cpp FINAL RESULTS: data/r-cran-gbm-2.1.8/src/gbm.cpp:208:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strncmp(pszFamily, "pairwise", strlen("pairwise"))) ANALYSIS SUMMARY: Hits = 1 Lines analyzed = 10277 in approximately 0.19 seconds (52735 lines/second) Physical Source Lines of Code (SLOC) = 7754 Hits@level = [0] 0 [1] 1 [2] 0 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 1 [1+] 1 [2+] 0 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.128966 [1+] 0.128966 [2+] 0 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.