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/mk-configure-0.33.0/builtins/easy.c
Examining data/mk-configure-0.33.0/builtins/easy.cc
Examining data/mk-configure-0.33.0/examples/check_compiler_opts/hello_world.c
Examining data/mk-configure-0.33.0/examples/fts/fts.c
Examining data/mk-configure-0.33.0/examples/hello_RBTREE/hello_RBTREE.c
Examining data/mk-configure-0.33.0/examples/hello_SLIST/hello_SLIST.c
Examining data/mk-configure-0.33.0/examples/hello_TARGETS/hello1/hello1.c
Examining data/mk-configure-0.33.0/examples/hello_TARGETS/hello2/hello2.c
Examining data/mk-configure-0.33.0/examples/hello_autoconf/proj/hello_autoconf.c
Examining data/mk-configure-0.33.0/examples/hello_autotools/proj/main.c
Examining data/mk-configure-0.33.0/examples/hello_compatlib/prog1/prog1.c
Examining data/mk-configure-0.33.0/examples/hello_compatlib/prog2/prog2.c
Examining data/mk-configure-0.33.0/examples/hello_compilers/compiler_test.c
Examining data/mk-configure-0.33.0/examples/hello_customtests/custom_tests/alloca_in_alloca_h.c
Examining data/mk-configure-0.33.0/examples/hello_customtests/custom_tests/alloca_in_stdlib_h.c
Examining data/mk-configure-0.33.0/examples/hello_customtests/custom_tests/cxx_with_templates.cc
Examining data/mk-configure-0.33.0/examples/hello_customtests/hello_customtests.c
Examining data/mk-configure-0.33.0/examples/hello_customtests2/hello_customtests2.c
Examining data/mk-configure-0.33.0/examples/hello_cxx/five.c
Examining data/mk-configure-0.33.0/examples/hello_cxx/five.h
Examining data/mk-configure-0.33.0/examples/hello_cxx/hello_msg.cc
Examining data/mk-configure-0.33.0/examples/hello_cxx/hello_msg.h
Examining data/mk-configure-0.33.0/examples/hello_cxx/main.cc
Examining data/mk-configure-0.33.0/examples/hello_cxx/seven.c
Examining data/mk-configure-0.33.0/examples/hello_cxx/seven.h
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxapp/cxxapp.cc
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/dummy.c
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/hello_msg1.cpp
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/hello_msg2.cpp
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/include/hello_msg.h
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/include/impl/hello_msg1.h
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib/include/impl/hello_msg2.h
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib2/hello_msg3.cxx
Examining data/mk-configure-0.33.0/examples/hello_cxxlib/cxxlib2/include/hello_msg2.h
Examining data/mk-configure-0.33.0/examples/hello_dictd/dict/dict.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/dictd/dictd.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/dictfmt/dictfmt.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/dictzip/dictzip.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libcommon/iswalnum.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libcommon/str.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libdz/dz.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libmaa/log.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libmaa/prime.c
Examining data/mk-configure-0.33.0/examples/hello_dictd/libmaa/set.c
Examining data/mk-configure-0.33.0/examples/hello_errwarn/hello.c
Examining data/mk-configure-0.33.0/examples/hello_fgetln/hello.c
Examining data/mk-configure-0.33.0/examples/hello_glib2/hello_glib2.c
Examining data/mk-configure-0.33.0/examples/hello_iconv/hello_iconv.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libbar/bar.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libbar/bar.h
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libbaz/baz.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libbaz/include/baz.h
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libfoo/foo.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libfoo/foo.h
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libfooqux/fooqux.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/libs/libfooqux/fooqux.h
Examining data/mk-configure-0.33.0/examples/hello_libdeps/progs/foobaz/foobaz.c
Examining data/mk-configure-0.33.0/examples/hello_libdeps/progs/fooquxfoobar/fooquxfoobar.c
Examining data/mk-configure-0.33.0/examples/hello_lua/baz.c
Examining data/mk-configure-0.33.0/examples/hello_lua3/socket_baz.c
Examining data/mk-configure-0.33.0/examples/hello_plugins/app/app.c
Examining data/mk-configure-0.33.0/examples/hello_plugins/plugin1/plugin1.c
Examining data/mk-configure-0.33.0/examples/hello_plugins/plugin2/plugin2.c
Examining data/mk-configure-0.33.0/examples/hello_plugins2/app/app.c
Examining data/mk-configure-0.33.0/examples/hello_plugins2/plugin1/plugin1.c
Examining data/mk-configure-0.33.0/examples/hello_plugins2/plugin2/plugin2.c
Examining data/mk-configure-0.33.0/examples/hello_progs/client.c
Examining data/mk-configure-0.33.0/examples/hello_progs/client_puts.c
Examining data/mk-configure-0.33.0/examples/hello_progs/server.c
Examining data/mk-configure-0.33.0/examples/hello_progs/server_puts.c
Examining data/mk-configure-0.33.0/examples/hello_progs2/client.c
Examining data/mk-configure-0.33.0/examples/hello_progs2/common.c
Examining data/mk-configure-0.33.0/examples/hello_progs2/server.c
Examining data/mk-configure-0.33.0/examples/hello_requirements/custom_check1.c
Examining data/mk-configure-0.33.0/examples/hello_requirements/custom_check2.c
Examining data/mk-configure-0.33.0/examples/hello_requirements/hello_world.c
Examining data/mk-configure-0.33.0/examples/hello_scripts/main.c
Examining data/mk-configure-0.33.0/examples/hello_scripts/msg.c
Examining data/mk-configure-0.33.0/examples/hello_sizeof/sizeof_test.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy/getline.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy/hello.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy/strlcpy.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy2/hello.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy2/missing/getline.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy2/missing/strlcpy.c
Examining data/mk-configure-0.33.0/examples/hello_strlcpy3/hello.c
Examining data/mk-configure-0.33.0/examples/hello_subdirs/prog1/prog1.c
Examining data/mk-configure-0.33.0/examples/hello_subdirs/prog2/prog2.c
Examining data/mk-configure-0.33.0/examples/hello_superfs/fsck_superfs/fsck_superfs.c
Examining data/mk-configure-0.33.0/examples/hello_superfs/mkfs_superfs/mkfs_superfs.c
Examining data/mk-configure-0.33.0/examples/hello_world/hello_world.c
Examining data/mk-configure-0.33.0/examples/hello_xxzip/xxzip.c
Examining data/mk-configure-0.33.0/examples/pkgconfig3/pkgconfig3.c
Examining data/mk-configure-0.33.0/examples/subprojects/hello/hello_subprojects.c
Examining data/mk-configure-0.33.0/examples/subprojects/libhello1/hello1.c
Examining data/mk-configure-0.33.0/examples/subprojects/libhello1/hello1.h
Examining data/mk-configure-0.33.0/examples/subprojects/libhello2/hello2.c
Examining data/mk-configure-0.33.0/examples/subprojects/libhello2/include/hello2.h
Examining data/mk-configure-0.33.0/examples/tools/libs/bar/bar.c
Examining data/mk-configure-0.33.0/examples/tools/libs/bar/bar.h
Examining data/mk-configure-0.33.0/examples/tools/libs/foo/foo.c
Examining data/mk-configure-0.33.0/examples/tools/libs/foo/foo.h
Examining data/mk-configure-0.33.0/examples/tools/libs/qux/qux.c
Examining data/mk-configure-0.33.0/examples/tools/tools/prog1/prog1.c
Examining data/mk-configure-0.33.0/examples/tools/tools/prog2/prog2.c
Examining data/mk-configure-0.33.0/examples/tools/tools/prog3/prog3.c
Examining data/mk-configure-0.33.0/examples/tools/tools/prog4/prog4.c
Examining data/mk-configure-0.33.0/examples/tools2/libs/bar/bar.c
Examining data/mk-configure-0.33.0/examples/tools2/libs/bar/bar.h
Examining data/mk-configure-0.33.0/examples/tools2/libs/foo/foo.c
Examining data/mk-configure-0.33.0/examples/tools2/libs/foo/foo.h
Examining data/mk-configure-0.33.0/examples/tools2/libs/qux/qux.c
Examining data/mk-configure-0.33.0/examples/tools2/tools/prog1/prog1.c
Examining data/mk-configure-0.33.0/examples/tools2/tools/prog2/prog2.c
Examining data/mk-configure-0.33.0/examples/tools2/tools/prog3/prog3.c
Examining data/mk-configure-0.33.0/examples/tools2/tools/prog4/prog4.c
Examining data/mk-configure-0.33.0/features/_mkcfake.c
Examining data/mk-configure-0.33.0/features/err/err.c
Examining data/mk-configure-0.33.0/features/fgetln/fgetln.c
Examining data/mk-configure-0.33.0/features/getdelim/getdelim.c
Examining data/mk-configure-0.33.0/features/getline/getline.c
Examining data/mk-configure-0.33.0/features/mkc_RB.h
Examining data/mk-configure-0.33.0/features/mkc_SLIST.h
Examining data/mk-configure-0.33.0/features/mkc_err.h
Examining data/mk-configure-0.33.0/features/mkc_fgetln.h
Examining data/mk-configure-0.33.0/features/mkc_getdelim.h
Examining data/mk-configure-0.33.0/features/mkc_getline.h
Examining data/mk-configure-0.33.0/features/mkc_libdl.h
Examining data/mk-configure-0.33.0/features/mkc_libm.h
Examining data/mk-configure-0.33.0/features/mkc_progname.h
Examining data/mk-configure-0.33.0/features/mkc_strlcat.h
Examining data/mk-configure-0.33.0/features/mkc_strlcpy.h
Examining data/mk-configure-0.33.0/features/mkc_strndup.h
Examining data/mk-configure-0.33.0/features/mkc_warn.h
Examining data/mk-configure-0.33.0/features/netbsd_sys_queue.h
Examining data/mk-configure-0.33.0/features/netbsd_sys_tree.h
Examining data/mk-configure-0.33.0/features/progname/progname.c
Examining data/mk-configure-0.33.0/features/strlcat/strlcat.c
Examining data/mk-configure-0.33.0/features/strlcpy/strlcpy.c
Examining data/mk-configure-0.33.0/features/strndup/strndup.c
Examining data/mk-configure-0.33.0/features/warn/warn.c
Examining data/mk-configure-0.33.0/tests/configure_test/custom/custom_check1.c
Examining data/mk-configure-0.33.0/tests/configure_test/custom/custom_check3.c
Examining data/mk-configure-0.33.0/tests/configure_test/custom/my_check2.c
Examining data/mk-configure-0.33.0/tests/configure_test/include/mkc_test.h
Examining data/mk-configure-0.33.0/tests/create_cachedir/hello.c
Examining data/mk-configure-0.33.0/tests/dltest/dltest.c
Examining data/mk-configure-0.33.0/tests/lua_dirs/baz.c
Examining data/mk-configure-0.33.0/tests/mkinstall/baz.h
Examining data/mk-configure-0.33.0/tests/mkinstall/qux.c
Examining data/mk-configure-0.33.0/tests/reqd_clean_cache/test1.c
Examining data/mk-configure-0.33.0/tests/sys_queue/hello.c

FINAL RESULTS:

data/mk-configure-0.33.0/features/err/err.c:50:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/err/err.c:67:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/err/err.c:82:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/err/err.c:95:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/warn/warn.c:50:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/warn/warn.c:66:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/warn/warn.c:80:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/features/warn/warn.c:92:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf (stderr, fmt, ap);
data/mk-configure-0.33.0/examples/hello_RBTREE/hello_RBTREE.c:68:2:  [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 [100];
data/mk-configure-0.33.0/examples/hello_SLIST/hello_SLIST.c:51:2:  [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 [100];
data/mk-configure-0.33.0/examples/hello_compatlib/prog1/prog1.c:16:2:  [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 small_buf [15];
data/mk-configure-0.33.0/examples/hello_compatlib/prog1/prog1.c:17:2:  [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 said [19];
data/mk-configure-0.33.0/examples/hello_strlcpy/hello.c:18:2:  [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 small_buf [10];
data/mk-configure-0.33.0/examples/hello_strlcpy2/hello.c:18:2:  [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 small_buf [10];
data/mk-configure-0.33.0/examples/hello_strlcpy3/hello.c:16:2:  [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 small_buf [15];
data/mk-configure-0.33.0/examples/hello_strlcpy3/hello.c:17:2:  [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 said [19];
data/mk-configure-0.33.0/features/strndup/strndup.c:50: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(copy, str, len);
data/mk-configure-0.33.0/examples/hello_RBTREE/hello_RBTREE.c:72:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/examples/hello_SLIST/hello_SLIST.c:55:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/examples/hello_compatlib/prog1/prog1.c:22:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/examples/hello_compilers/compiler_test.c:45:19:  [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).
	printf ("%d\n", (strlen (MSG) > 0) +
data/mk-configure-0.33.0/examples/hello_strlcpy/getline.c:36:13:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	while (c = getc (stream), c != EOF){
data/mk-configure-0.33.0/examples/hello_strlcpy/hello.c:21:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/examples/hello_strlcpy2/hello.c:21:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/examples/hello_strlcpy2/missing/getline.c:36:13:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	while (c = getc (stream), c != EOF){
data/mk-configure-0.33.0/examples/hello_strlcpy3/hello.c:22:9:  [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).
		len = strlen (buf);
data/mk-configure-0.33.0/features/getdelim/getdelim.c:52:11:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		int c = fgetc(fp);
data/mk-configure-0.33.0/features/getline/getline.c:18:13:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	while (c = getc (stream), c != EOF){
data/mk-configure-0.33.0/features/strlcat/strlcat.c:48:18:  [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).
		return (dlen + strlen(s));

ANALYSIS SUMMARY:

Hits = 29
Lines analyzed = 4183 in approximately 0.19 seconds (21646 lines/second)
Physical Source Lines of Code (SLOC) = 3017
Hits@level = [0]  97 [1]  12 [2]   9 [3]   0 [4]   8 [5]   0
Hits@level+ = [0+] 126 [1+]  29 [2+]  17 [3+]   8 [4+]   8 [5+]   0
Hits/KSLOC@level+ = [0+] 41.7633 [1+] 9.6122 [2+] 5.63474 [3+] 2.65164 [4+] 2.65164 [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.