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/json-glib-1.6.0/json-glib/json-array.c Examining data/json-glib-1.6.0/json-glib/json-builder.c Examining data/json-glib-1.6.0/json-glib/json-builder.h Examining data/json-glib-1.6.0/json-glib/json-debug.c Examining data/json-glib-1.6.0/json-glib/json-debug.h Examining data/json-glib-1.6.0/json-glib/json-gboxed.c Examining data/json-glib-1.6.0/json-glib/json-generator.c Examining data/json-glib-1.6.0/json-glib/json-generator.h Examining data/json-glib-1.6.0/json-glib/json-glib-format.c Examining data/json-glib-1.6.0/json-glib/json-glib-validate.c Examining data/json-glib-1.6.0/json-glib/json-glib.h Examining data/json-glib-1.6.0/json-glib/json-gobject-private.h Examining data/json-glib-1.6.0/json-glib/json-gobject.c Examining data/json-glib-1.6.0/json-glib/json-gobject.h Examining data/json-glib-1.6.0/json-glib/json-gvariant.c Examining data/json-glib-1.6.0/json-glib/json-gvariant.h Examining data/json-glib-1.6.0/json-glib/json-node.c Examining data/json-glib-1.6.0/json-glib/json-object.c Examining data/json-glib-1.6.0/json-glib/json-parser.c Examining data/json-glib-1.6.0/json-glib/json-parser.h Examining data/json-glib-1.6.0/json-glib/json-path.c Examining data/json-glib-1.6.0/json-glib/json-path.h Examining data/json-glib-1.6.0/json-glib/json-reader.c Examining data/json-glib-1.6.0/json-glib/json-reader.h Examining data/json-glib-1.6.0/json-glib/json-scanner.c Examining data/json-glib-1.6.0/json-glib/json-scanner.h Examining data/json-glib-1.6.0/json-glib/json-serializable.c Examining data/json-glib-1.6.0/json-glib/json-types-private.h Examining data/json-glib-1.6.0/json-glib/json-types.h Examining data/json-glib-1.6.0/json-glib/json-utils.c Examining data/json-glib-1.6.0/json-glib/json-utils.h Examining data/json-glib-1.6.0/json-glib/json-value.c Examining data/json-glib-1.6.0/json-glib/json-version-macros.h Examining data/json-glib-1.6.0/json-glib/tests/array.c Examining data/json-glib-1.6.0/json-glib/tests/boxed.c Examining data/json-glib-1.6.0/json-glib/tests/builder.c Examining data/json-glib-1.6.0/json-glib/tests/generator.c Examining data/json-glib-1.6.0/json-glib/tests/gvariant.c Examining data/json-glib-1.6.0/json-glib/tests/invalid.c Examining data/json-glib-1.6.0/json-glib/tests/json-test-utils.h Examining data/json-glib-1.6.0/json-glib/tests/node.c Examining data/json-glib-1.6.0/json-glib/tests/object.c Examining data/json-glib-1.6.0/json-glib/tests/parser.c Examining data/json-glib-1.6.0/json-glib/tests/path.c Examining data/json-glib-1.6.0/json-glib/tests/reader.c Examining data/json-glib-1.6.0/json-glib/tests/serialize-complex.c Examining data/json-glib-1.6.0/json-glib/tests/serialize-full.c Examining data/json-glib-1.6.0/json-glib/tests/serialize-simple.c FINAL RESULTS: data/json-glib-1.6.0/json-glib/json-generator.c:87: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 (str); data/json-glib-1.6.0/json-glib/json-gobject.c:879:47: [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 json_gobject_from_data (gtype, data, strlen (data), error); data/json-glib-1.6.0/json-glib/json-gobject.c:916:14: [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). length = strlen (data); data/json-glib-1.6.0/json-glib/json-parser.c:1219:14: [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). length = strlen (data); data/json-glib-1.6.0/json-glib/json-scanner.c:372:34: [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). key.symbol = g_new (gchar, strlen (symbol) + 1); data/json-glib-1.6.0/json-glib/json-scanner.c:1513:4: [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). strlen (value.v_identifier) == 4) data/json-glib-1.6.0/json-glib/tests/boxed.c:229:29: [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). g_assert_cmpint (len, ==, strlen (serialize_data)); data/json-glib-1.6.0/json-glib/tests/builder.c:76:32: [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). g_assert_cmpint (length, ==, strlen (complex_object)); data/json-glib-1.6.0/json-glib/tests/builder.c:112:32: [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). g_assert_cmpint (length, ==, strlen (empty_object)); data/json-glib-1.6.0/json-glib/tests/generator.c:84:29: [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). g_assert_cmpint (len, ==, strlen (empty_array)); data/json-glib-1.6.0/json-glib/tests/generator.c:112:29: [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). g_assert_cmpint (len, ==, strlen (empty_object)); data/json-glib-1.6.0/json-glib/tests/generator.c:149:29: [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). g_assert_cmpint (len, ==, strlen (simple_array)); data/json-glib-1.6.0/json-glib/tests/generator.c:188:29: [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). g_assert_cmpint (len, ==, strlen (nested_array)); data/json-glib-1.6.0/json-glib/tests/generator.c:226:29: [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). g_assert_cmpint (len, ==, strlen (simple_object)); data/json-glib-1.6.0/json-glib/tests/generator.c:286:29: [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). g_assert_cmpint (len, ==, strlen (nested_object)); data/json-glib-1.6.0/json-glib/tests/generator.c:389:33: [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). g_assert_cmpint (len, ==, strlen (pretty_examples[i])); data/json-glib-1.6.0/json-glib/tests/generator.c:427:33: [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). g_assert_cmpuint (length, ==, strlen (fixture->expect)); data/json-glib-1.6.0/json-glib/tests/serialize-simple.c:147:29: [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). g_assert_cmpint (len, ==, strlen (data)); ANALYSIS SUMMARY: Hits = 18 Lines analyzed = 21365 in approximately 0.49 seconds (43761 lines/second) Physical Source Lines of Code (SLOC) = 13416 Hits@level = [0] 0 [1] 18 [2] 0 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 18 [1+] 18 [2+] 0 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 1.34168 [1+] 1.34168 [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.