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/nanopb-0.4.3/examples/cmake_relpath/simple.c
Examining data/nanopb-0.4.3/examples/cmake_simple/simple.c
Examining data/nanopb-0.4.3/examples/network_server/client.c
Examining data/nanopb-0.4.3/examples/network_server/common.c
Examining data/nanopb-0.4.3/examples/network_server/common.h
Examining data/nanopb-0.4.3/examples/network_server/server.c
Examining data/nanopb-0.4.3/examples/simple/simple.c
Examining data/nanopb-0.4.3/examples/using_union_messages/decode.c
Examining data/nanopb-0.4.3/examples/using_union_messages/encode.c
Examining data/nanopb-0.4.3/extra/pb_syshdr.h
Examining data/nanopb-0.4.3/pb.h
Examining data/nanopb-0.4.3/pb_common.c
Examining data/nanopb-0.4.3/pb_common.h
Examining data/nanopb-0.4.3/pb_decode.c
Examining data/nanopb-0.4.3/pb_decode.h
Examining data/nanopb-0.4.3/pb_encode.c
Examining data/nanopb-0.4.3/pb_encode.h
Examining data/nanopb-0.4.3/spm-test/objc/c-header.c
Examining data/nanopb-0.4.3/spm_headers/pb.h
Examining data/nanopb-0.4.3/spm_headers/pb_common.h
Examining data/nanopb-0.4.3/spm_headers/pb_decode.h
Examining data/nanopb-0.4.3/spm_headers/pb_encode.h
Examining data/nanopb-0.4.3/tests/alltypes/decode_alltypes.c
Examining data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c
Examining data/nanopb-0.4.3/tests/alltypes_callback/decode_alltypes_callback.c
Examining data/nanopb-0.4.3/tests/alltypes_callback/encode_alltypes_callback.c
Examining data/nanopb-0.4.3/tests/alltypes_pointer/decode_alltypes_pointer.c
Examining data/nanopb-0.4.3/tests/alltypes_pointer/encode_alltypes_pointer.c
Examining data/nanopb-0.4.3/tests/alltypes_proto3/decode_alltypes.c
Examining data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c
Examining data/nanopb-0.4.3/tests/alltypes_proto3_callback/decode_alltypes_callback.c
Examining data/nanopb-0.4.3/tests/alltypes_proto3_callback/encode_alltypes_callback.c
Examining data/nanopb-0.4.3/tests/anonymous_oneof/decode_oneof.c
Examining data/nanopb-0.4.3/tests/any_type/decode_any.c
Examining data/nanopb-0.4.3/tests/any_type/encode_any.c
Examining data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.c
Examining data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.h
Examining data/nanopb-0.4.3/tests/backwards_compatibility/decode_legacy.c
Examining data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c
Examining data/nanopb-0.4.3/tests/basic_buffer/decode_buffer.c
Examining data/nanopb-0.4.3/tests/basic_buffer/encode_buffer.c
Examining data/nanopb-0.4.3/tests/basic_stream/decode_stream.c
Examining data/nanopb-0.4.3/tests/basic_stream/encode_stream.c
Examining data/nanopb-0.4.3/tests/callbacks/decode_callbacks.c
Examining data/nanopb-0.4.3/tests/callbacks/encode_callbacks.c
Examining data/nanopb-0.4.3/tests/common/malloc_wrappers.c
Examining data/nanopb-0.4.3/tests/common/malloc_wrappers.h
Examining data/nanopb-0.4.3/tests/common/malloc_wrappers_syshdr.h
Examining data/nanopb-0.4.3/tests/common/test_helpers.h
Examining data/nanopb-0.4.3/tests/common/unittests.h
Examining data/nanopb-0.4.3/tests/common_unittests/common_unittests.c
Examining data/nanopb-0.4.3/tests/cxx_callback_datatype/cxx_callback_datatype.cpp
Examining data/nanopb-0.4.3/tests/cxx_descriptor/message_descriptor.cc
Examining data/nanopb-0.4.3/tests/cyclic_messages/encode_cyclic_callback.c
Examining data/nanopb-0.4.3/tests/decode_unittests/decode_unittests.c
Examining data/nanopb-0.4.3/tests/encode_unittests/encode_unittests.c
Examining data/nanopb-0.4.3/tests/enum_minmax/enumminmax_unittests.c
Examining data/nanopb-0.4.3/tests/enum_sizes/enumsizes_unittests.c
Examining data/nanopb-0.4.3/tests/enum_to_string/enum_to_string.c
Examining data/nanopb-0.4.3/tests/extensions/decode_extensions.c
Examining data/nanopb-0.4.3/tests/extensions/encode_extensions.c
Examining data/nanopb-0.4.3/tests/field_size_16_proto3/decode_alltypes.c
Examining data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c
Examining data/nanopb-0.4.3/tests/fixed_count/fixed_count_unittests.c
Examining data/nanopb-0.4.3/tests/float_double_conversion/float_double_conversion.c
Examining data/nanopb-0.4.3/tests/fuzztest/flakystream.c
Examining data/nanopb-0.4.3/tests/fuzztest/flakystream.h
Examining data/nanopb-0.4.3/tests/fuzztest/fuzztest.c
Examining data/nanopb-0.4.3/tests/fuzztest/generate_message.c
Examining data/nanopb-0.4.3/tests/fuzztest/random_data.c
Examining data/nanopb-0.4.3/tests/fuzztest/random_data.h
Examining data/nanopb-0.4.3/tests/fuzztest/validation.c
Examining data/nanopb-0.4.3/tests/fuzztest/validation.h
Examining data/nanopb-0.4.3/tests/infinity_nan/infinity_nan_test.c
Examining data/nanopb-0.4.3/tests/inline/inline_unittests.c
Examining data/nanopb-0.4.3/tests/intsizes/intsizes_unittests.c
Examining data/nanopb-0.4.3/tests/io_errors/io_errors.c
Examining data/nanopb-0.4.3/tests/map/decode_map.c
Examining data/nanopb-0.4.3/tests/map/encode_map.c
Examining data/nanopb-0.4.3/tests/mem_release/mem_release.c
Examining data/nanopb-0.4.3/tests/message_sizes/dummy.c
Examining data/nanopb-0.4.3/tests/missing_fields/missing_fields.c
Examining data/nanopb-0.4.3/tests/msgid/decode_msgid.c
Examining data/nanopb-0.4.3/tests/msgid/encode_msgid.c
Examining data/nanopb-0.4.3/tests/multiple_files/test_multiple_files.c
Examining data/nanopb-0.4.3/tests/oneof/decode_oneof.c
Examining data/nanopb-0.4.3/tests/oneof/encode_oneof.c
Examining data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c
Examining data/nanopb-0.4.3/tests/oneof_callback/encode_oneof.c
Examining data/nanopb-0.4.3/tests/options/options.c
Examining data/nanopb-0.4.3/tests/raw_decode/raw_decode.c
Examining data/nanopb-0.4.3/tests/regression/GHSA-gcx3-7m76-287p/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_166/enum_encoded_size.c
Examining data/nanopb-0.4.3/tests/regression/issue_172/msg_size.c
Examining data/nanopb-0.4.3/tests/regression/issue_205/size_corruption.c
Examining data/nanopb-0.4.3/tests/regression/issue_227/unaligned_uint64.c
Examining data/nanopb-0.4.3/tests/regression/issue_229/multiple_oneof.c
Examining data/nanopb-0.4.3/tests/regression/issue_242/zero_value.c
Examining data/nanopb-0.4.3/tests/regression/issue_247/padding.c
Examining data/nanopb-0.4.3/tests/regression/issue_249/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_253/short_array.c
Examining data/nanopb-0.4.3/tests/regression/issue_256/submsg_array.c
Examining data/nanopb-0.4.3/tests/regression/issue_259/callback_pointer.c
Examining data/nanopb-0.4.3/tests/regression/issue_322/defaults.c
Examining data/nanopb-0.4.3/tests/regression/issue_342/test_extensions.c
Examining data/nanopb-0.4.3/tests/regression/issue_363/test_oneofmsg.c
Examining data/nanopb-0.4.3/tests/regression/issue_376/test_fixarray.c
Examining data/nanopb-0.4.3/tests/regression/issue_395/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_407/test_extensions.c
Examining data/nanopb-0.4.3/tests/regression/issue_453/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_494/oneof_size.cc
Examining data/nanopb-0.4.3/tests/regression/issue_504/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_544/submsg_callback.c
Examining data/nanopb-0.4.3/tests/regression/issue_547/test.c
Examining data/nanopb-0.4.3/tests/regression/issue_558/mixed.c
Examining data/nanopb-0.4.3/tests/site_scons/platforms/avr/avr_io.c
Examining data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c
Examining data/nanopb-0.4.3/tests/site_scons/platforms/stm32/vectors.c
Examining data/nanopb-0.4.3/tests/sort_by_tag/sort_by_tag.c
Examining data/nanopb-0.4.3/tests/stackusage/stackusage.c
Examining data/nanopb-0.4.3/tests/typename_mangling/test_flatten.c
Examining data/nanopb-0.4.3/tests/typename_mangling/test_package_initials.c
Examining data/nanopb-0.4.3/tests/typename_mangling/test_strip_package.c
Examining data/nanopb-0.4.3/tests/without_64bit/decode_alltypes.c
Examining data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c
Examining data/nanopb-0.4.3/tests/without_64bit/no_64bit_syshdr.h

FINAL RESULTS:

data/nanopb-0.4.3/examples/network_server/client.c:72:13:  [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(request.path, path);
data/nanopb-0.4.3/tests/callbacks/decode_callbacks.c:24:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, buffer);
data/nanopb-0.4.3/tests/callbacks/decode_callbacks.c:34:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, (long)value);
data/nanopb-0.4.3/tests/callbacks/decode_callbacks.c:44:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, (long)value);
data/nanopb-0.4.3/tests/callbacks/decode_callbacks.c:54:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, (long)value);
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:51:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, (int)value);
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:71:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf((char*)*arg, buffer);
data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c:47:9:  [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 , format, ap);
data/nanopb-0.4.3/examples/using_union_messages/encode.c:53: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).
    int msgtype = atoi(argv[1]);
data/nanopb-0.4.3/extra/pb_syshdr.h:90:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
static void * memcpy( void *s1, const void *s2, size_t n )
data/nanopb-0.4.3/pb.h:153:50:  [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.
#      define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
data/nanopb-0.4.3/tests/alltypes/decode_alltypes.c:314:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:16:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:39:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.req_string, "1014");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:41:9:  [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(alltypes.req_bytes.bytes, "1015", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:42:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.req_submsg.substuff1, "1016");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:45:9:  [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(alltypes.req_fbytes, "1019", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:63:40:  [2] (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). Risk is low because the source is a constant string.
        alltypes.rep_string_count = 5; strcpy(alltypes.rep_string[4], "2014");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:65:9:  [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(alltypes.rep_bytes[4].bytes, "2015", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:68:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.rep_submsg[4].substuff1, "2016");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:77:9:  [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(alltypes.rep_fbytes[4], "2019", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:138:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_string, "3054");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:141:9:  [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(alltypes.opt_bytes.bytes, "3055", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:143:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_submsg.substuff1, "3056");
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:149:9:  [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(alltypes.opt_fbytes, "3059", 4);
data/nanopb-0.4.3/tests/alltypes/encode_alltypes.c:152:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
data/nanopb-0.4.3/tests/alltypes_callback/decode_alltypes_callback.c:475:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_callback/encode_alltypes_callback.c:245:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_pointer/decode_alltypes_pointer.c:182:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_pointer/encode_alltypes_pointer.c:13:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_proto3/decode_alltypes.c:149:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:13:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:34:36:  [2] (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). Risk is low because the source is a constant string.
    alltypes.rep_string_count = 5; strcpy(alltypes.rep_string[4], "2014");
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:36: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(alltypes.rep_bytes[4].bytes, "2015", 4);
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:39:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.rep_submsg[4].substuff1, "2016");
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:47: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(alltypes.rep_fbytes[4], "2019", 4);
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:79:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.sng_string, "3054");
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:81:9:  [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(alltypes.sng_bytes.bytes, "3055", 4);
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:83:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.sng_submsg.substuff1, "3056");
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:86:9:  [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(alltypes.sng_fbytes, "3059", 4);
data/nanopb-0.4.3/tests/alltypes_proto3/encode_alltypes.c:89:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
data/nanopb-0.4.3/tests/alltypes_proto3_callback/decode_alltypes_callback.c:405:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/alltypes_proto3_callback/encode_alltypes_callback.c:215:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/anonymous_oneof/decode_oneof.c:65: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).
    option = atoi(argv[1]);
data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.h:59: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 substuff1[16];
data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.h:84: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 req_string[16];
data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.h:115: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 rep_string[5][16];
data/nanopb-0.4.3/tests/backwards_compatibility/alltypes_legacy.h:149: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 opt_string[16];
data/nanopb-0.4.3/tests/backwards_compatibility/decode_legacy.c:179:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:16:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:37:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.req_string, "1014");
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:39: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(alltypes.req_bytes.bytes, "1015", 4);
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:40:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.req_submsg.substuff1, "1016");
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:60:36:  [2] (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). Risk is low because the source is a constant string.
    alltypes.rep_string_count = 5; strcpy(alltypes.rep_string[4], "2014");
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:62: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(alltypes.rep_bytes[4].bytes, "2015", 4);
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:65:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.rep_submsg[4].substuff1, "2016");
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:105:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_string, "3054");
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:108:9:  [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(alltypes.opt_bytes.bytes, "3055", 4);
data/nanopb-0.4.3/tests/backwards_compatibility/encode_legacy.c:110:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_submsg.substuff1, "3056");
data/nanopb-0.4.3/tests/callbacks/encode_callbacks.c:49: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[4] = {"Hello world!", "", "Test", "Test2"};
data/nanopb-0.4.3/tests/cyclic_messages/encode_cyclic_callback.c:53:21:  [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).
        tree.leaf = atoi(p);
data/nanopb-0.4.3/tests/cyclic_messages/encode_cyclic_callback.c:107:29:  [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).
            pair.intValue = atoi(p);
data/nanopb-0.4.3/tests/decode_unittests/decode_unittests.c:290:9:  [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 d[5];
data/nanopb-0.4.3/tests/encode_unittests/encode_unittests.c:255:9:  [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 value[30] = "xyzzy";
data/nanopb-0.4.3/tests/encode_unittests/encode_unittests.c:412:9:  [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 *strs[1] = {NULL};
data/nanopb-0.4.3/tests/field_size_16_proto3/decode_alltypes.c:149:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:13:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:34:36:  [2] (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). Risk is low because the source is a constant string.
    alltypes.rep_string_count = 5; strcpy(alltypes.rep_string[4], "2014");
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:36: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(alltypes.rep_bytes[4].bytes, "2015", 4);
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:39:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.rep_submsg[4].substuff1, "2016");
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:47: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(alltypes.rep_fbytes[4], "2019", 4);
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:79:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.sng_string, "3054");
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:81:9:  [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(alltypes.sng_bytes.bytes, "3055", 4);
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:83:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.sng_submsg.substuff1, "3056");
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:86:9:  [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(alltypes.sng_fbytes, "3059", 4);
data/nanopb-0.4.3/tests/field_size_16_proto3/encode_alltypes.c:89:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
data/nanopb-0.4.3/tests/fuzztest/flakystream.c:18: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(buf, state->buffer + state->position, count);
data/nanopb-0.4.3/tests/fuzztest/fuzztest.c:372: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(msg, &initval, sizeof(initval));
data/nanopb-0.4.3/tests/fuzztest/fuzztest.c:436:36:  [2] (integer) atol:
  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).
        iterations = (argc >= 3) ? atol(argv[2]) : 10000;
data/nanopb-0.4.3/tests/fuzztest/generate_message.c:82:21:  [2] (integer) atol:
  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).
    random_set_seed(atol(argv[1]));
data/nanopb-0.4.3/tests/fuzztest/random_data.c:164:9:  [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(buf + s + l, buf + s, l);
data/nanopb-0.4.3/tests/fuzztest/random_data.c:186:9:  [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(buffer, tmp, s);
data/nanopb-0.4.3/tests/msgid/encode_msgid.c:37:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(msg.strvalue, "Msg2");
data/nanopb-0.4.3/tests/msgid/encode_msgid.c:62: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).
    option = atoi(argv[1]);
data/nanopb-0.4.3/tests/oneof/decode_oneof.c:102: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).
    option = atoi(argv[1]);
data/nanopb-0.4.3/tests/oneof/encode_oneof.c:21: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).
    option = atoi(argv[1]);
data/nanopb-0.4.3/tests/oneof/encode_oneof.c:36:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(msg.values.second, "abcd");
data/nanopb-0.4.3/tests/oneof_callback/encode_oneof.c:71: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).
    option = atoi(argv[1]);
data/nanopb-0.4.3/tests/oneof_callback/encode_oneof.c:86:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(msg.values.strvalue, "abcd");
data/nanopb-0.4.3/tests/raw_decode/raw_decode.c:25:9:  [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(g_history + HISTORY_LEN - len, buf, len);
data/nanopb-0.4.3/tests/raw_decode/raw_decode.c:29:9:  [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(g_history, buf + len - HISTORY_LEN, HISTORY_LEN);
data/nanopb-0.4.3/tests/raw_decode/raw_decode.c:64:11:  [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.
    const char *wiretypes[8] = {"VARINT", "64BIT", "STRING", "SGRP", "EGRP", "32BIT", "????", "????"};
data/nanopb-0.4.3/tests/raw_decode/raw_decode.c:157:21:  [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 prefix[8];
data/nanopb-0.4.3/tests/regression/issue_504/test.c:28:9:  [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(pStrAligned, STR, sizeof(STR));
data/nanopb-0.4.3/tests/site_scons/platforms/avr/avr_io.c:16: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 args[3][16];
data/nanopb-0.4.3/tests/site_scons/platforms/avr/avr_io.c:34:8:  [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.
static char g_malloc_heap[8192];
data/nanopb-0.4.3/tests/site_scons/platforms/avr/avr_io.c:53:11:  [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.
    const char *argv[4] = {"main", g_args.args[0], g_args.args[1], g_args.args[2]};
data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c:20: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 args[3][16];
data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c:96:11:  [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.
    const char *irq_names[2] = {"8<uart_in", "8>uart_out"};
data/nanopb-0.4.3/tests/stackusage/stackusage.c:52:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(msg.settings.name, "abcd");
data/nanopb-0.4.3/tests/without_64bit/decode_alltypes.c:165:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:13:29:  [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).
    int mode = (argc > 1) ? atoi(argv[1]) : 0;
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:27:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.req_string, "1014");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:29: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(alltypes.req_bytes.bytes, "1015", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:30:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.req_submsg.substuff1, "1016");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:33: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(alltypes.req_fbytes, "1019", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:44:36:  [2] (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). Risk is low because the source is a constant string.
    alltypes.rep_string_count = 5; strcpy(alltypes.rep_string[4], "2014");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:46: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(alltypes.rep_bytes[4].bytes, "2015", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:49:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(alltypes.rep_submsg[4].substuff1, "2016");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:58: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(alltypes.rep_fbytes[4], "2019", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:87:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_string, "3054");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:90:9:  [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(alltypes.opt_bytes.bytes, "3055", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:92:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.opt_submsg.substuff1, "3056");
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:98:9:  [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(alltypes.opt_fbytes, "3059", 4);
data/nanopb-0.4.3/tests/without_64bit/encode_alltypes.c:101:9:  [2] (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). Risk is low because the source is a constant string.
        strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
data/nanopb-0.4.3/examples/network_server/client.c:66:17:  [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 (strlen(path) + 1 > sizeof(request.path))
data/nanopb-0.4.3/examples/network_server/server.c:43:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(fileinfo.name, file->d_name, sizeof(fileinfo.name));
data/nanopb-0.4.3/extra/pb_syshdr.h:80:15:  [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).
static size_t strlen( const char * s )
data/nanopb-0.4.3/tests/alltypes_callback/encode_alltypes_callback.c:52:43:  [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).
           pb_encode_string(stream, *arg, strlen(*arg));
data/nanopb-0.4.3/tests/alltypes_callback/encode_alltypes_callback.c:161:43:  [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).
           pb_encode_string(stream, *arg, strlen(*arg));
data/nanopb-0.4.3/tests/alltypes_proto3_callback/encode_alltypes_callback.c:52:43:  [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).
           pb_encode_string(stream, *arg, strlen(*arg));
data/nanopb-0.4.3/tests/alltypes_proto3_callback/encode_alltypes_callback.c:161:43:  [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).
           pb_encode_string(stream, *arg, strlen(*arg));
data/nanopb-0.4.3/tests/any_type/encode_any.c:22:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(msg.details.type_url, "type.googleapis.com/google.protobuf.Duration", sizeof(msg.details.type_url));
data/nanopb-0.4.3/tests/callbacks/encode_callbacks.c:16:52:  [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 pb_encode_string(stream, (uint8_t*)str, strlen(str));
data/nanopb-0.4.3/tests/callbacks/encode_callbacks.c:57:57:  [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 (!pb_encode_string(stream, (uint8_t*)str[i], strlen(str[i])))
data/nanopb-0.4.3/tests/cyclic_messages/encode_cyclic_callback.c:75:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(pair.key, p, textlen);
data/nanopb-0.4.3/tests/cyclic_messages/encode_cyclic_callback.c:93:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(pair.stringValue, p, textlen);
data/nanopb-0.4.3/tests/fuzztest/validation.c:41:20:  [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).
            assert(strlen(pData) + 1 <= iter->data_size);
data/nanopb-0.4.3/tests/fuzztest/validation.c:116:20:  [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).
            assert(strlen(str) + 1 <= get_allocation_size(str));
data/nanopb-0.4.3/tests/map/encode_map.c:17:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(msg.numbers[0].key, "one", sizeof(msg.numbers[0].key));
data/nanopb-0.4.3/tests/map/encode_map.c:18:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(msg.numbers[1].key, "two", sizeof(msg.numbers[1].key));
data/nanopb-0.4.3/tests/map/encode_map.c:19:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(msg.numbers[2].key, "seven", sizeof(msg.numbers[2].key));
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:28:13:  [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 (strlen > sizeof(buffer) - 1)
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:31:16:  [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).
        buffer[strlen] = '\0';
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:33:39:  [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 (!pb_read(istream, buffer, strlen))
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:60: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).
    if (strlen > sizeof(buffer) - 1)
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:63:12:  [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).
    buffer[strlen] = '\0';
data/nanopb-0.4.3/tests/oneof_callback/decode_oneof.c:65: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).
    if (!pb_read(stream, buffer, strlen))
data/nanopb-0.4.3/tests/oneof_callback/encode_oneof.c:26:63:  [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 pb_encode_string(ostream, (const uint8_t*)str, strlen(str));
data/nanopb-0.4.3/tests/oneof_callback/encode_oneof.c:56:58:  [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 pb_encode_string(stream, (const uint8_t*)str, strlen(str));
data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c:70:17:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            v = fgetc(stdin);
data/nanopb-0.4.3/tests/site_scons/platforms/avr/run_test.c:171:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(g_args.args[i], argv[i + argc_offset], 15);

ANALYSIS SUMMARY:

Hits = 142
Lines analyzed = 16419 in approximately 0.45 seconds (36425 lines/second)
Physical Source Lines of Code (SLOC) = 12173
Hits@level = [0] 245 [1]  27 [2] 107 [3]   0 [4]   8 [5]   0
Hits@level+ = [0+] 387 [1+] 142 [2+] 115 [3+]   8 [4+]   8 [5+]   0
Hits/KSLOC@level+ = [0+] 31.7917 [1+] 11.6652 [2+] 9.44714 [3+] 0.657192 [4+] 0.657192 [5+]   0
Symlinks skipped = 4 (--allowlink overrides but see doc for security issue)
Dot directories skipped = 2 (--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.