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/packit-1.7/src/capture.c
Examining data/packit-1.7/src/capture.h
Examining data/packit-1.7/src/capture_defs.h
Examining data/packit-1.7/src/contrib/pcap-int.h
Examining data/packit-1.7/src/contrib/pcap_setnonblock.c
Examining data/packit-1.7/src/define_defaults.c
Examining data/packit-1.7/src/define_defaults.h
Examining data/packit-1.7/src/error.c
Examining data/packit-1.7/src/error.h
Examining data/packit-1.7/src/exit.c
Examining data/packit-1.7/src/exit.h
Examining data/packit-1.7/src/globals.h
Examining data/packit-1.7/src/init.c
Examining data/packit-1.7/src/init.h
Examining data/packit-1.7/src/inject_defs.h
Examining data/packit-1.7/src/injection.c
Examining data/packit-1.7/src/injection.h
Examining data/packit-1.7/src/main.c
Examining data/packit-1.7/src/main.h
Examining data/packit-1.7/src/print_arp_hdr.c
Examining data/packit-1.7/src/print_arp_hdr.h
Examining data/packit-1.7/src/print_capture.c
Examining data/packit-1.7/src/print_capture.h
Examining data/packit-1.7/src/print_defs.h
Examining data/packit-1.7/src/print_ethernet_hdr.c
Examining data/packit-1.7/src/print_ethernet_hdr.h
Examining data/packit-1.7/src/print_icmpv4_hdr.c
Examining data/packit-1.7/src/print_icmpv4_hdr.h
Examining data/packit-1.7/src/print_injection.c
Examining data/packit-1.7/src/print_injection.h
Examining data/packit-1.7/src/print_ipv4_hdr.c
Examining data/packit-1.7/src/print_ipv4_hdr.h
Examining data/packit-1.7/src/print_pktdump.c
Examining data/packit-1.7/src/print_pktdump.h
Examining data/packit-1.7/src/print_tcp_hdr.c
Examining data/packit-1.7/src/print_tcp_hdr.h
Examining data/packit-1.7/src/print_ts.c
Examining data/packit-1.7/src/print_ts.h
Examining data/packit-1.7/src/print_udp_hdr.c
Examining data/packit-1.7/src/print_udp_hdr.h
Examining data/packit-1.7/src/shape_arp_hdr.c
Examining data/packit-1.7/src/shape_arp_hdr.h
Examining data/packit-1.7/src/shape_defs.h
Examining data/packit-1.7/src/shape_ethernet_hdr.c
Examining data/packit-1.7/src/shape_ethernet_hdr.h
Examining data/packit-1.7/src/shape_icmpv4_hdr.c
Examining data/packit-1.7/src/shape_icmpv4_hdr.h
Examining data/packit-1.7/src/shape_ipv4_hdr.c
Examining data/packit-1.7/src/shape_ipv4_hdr.h
Examining data/packit-1.7/src/shape_packet.c
Examining data/packit-1.7/src/shape_packet.h
Examining data/packit-1.7/src/shape_tcp_hdr.c
Examining data/packit-1.7/src/shape_tcp_hdr.h
Examining data/packit-1.7/src/shape_udp_hdr.c
Examining data/packit-1.7/src/shape_udp_hdr.h
Examining data/packit-1.7/src/stats.c
Examining data/packit-1.7/src/stats.h
Examining data/packit-1.7/src/usage.c
Examining data/packit-1.7/src/usage.h
Examining data/packit-1.7/src/utils.c
Examining data/packit-1.7/src/utils.h

FINAL RESULTS:

data/packit-1.7/src/error.c:42:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    vsnprintf(error_buf, ERRBUF_MAXLEN, err, va);
data/packit-1.7/src/utils.c:101:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf((char*)ip, "%s.%d", ip, oct);
data/packit-1.7/src/utils.c:122:12:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
           sprintf((char*)eaddr, "%s:%0x", eaddr, oct);
data/packit-1.7/src/utils.c:145:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    vsnprintf(msg, 255, msgp, va);
data/packit-1.7/src/main.c:123:18:  [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((opt = getopt(argc, argv, "c:eGi:nNr:Rs:vw:xX")) != -1)
data/packit-1.7/src/main.c:191:18:  [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((opt = getopt(argc, argv, "t:")) != -1)
data/packit-1.7/src/main.c:305:18:  [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((opt = getopt(argc, argv, opts)) != -1)
data/packit-1.7/src/main.c:608:18:  [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((opt = getopt(argc, argv, "m:")) != -1)
data/packit-1.7/src/utils.c:43:5:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    srand(time(0) ^ getpid() * r_int);
data/packit-1.7/src/contrib/pcap-int.h:106: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 errbuf[PCAP_ERRBUF_SIZE];
data/packit-1.7/src/error.c:30:1:  [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 error_buf[ERRBUF_MAXLEN];
data/packit-1.7/src/error.h:37: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.
extern char error_buf[ERRBUF_MAXLEN];
data/packit-1.7/src/exit.c:32: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 a[2];
data/packit-1.7/src/globals.h:142: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.
extern char g_w_file[OPT_MAXLEN];
data/packit-1.7/src/globals.h:143: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.
extern char g_r_file[OPT_MAXLEN];
data/packit-1.7/src/inject_defs.h:68: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 flags[6];                 /* total number of possible flags */
data/packit-1.7/src/injection.c:85:31:  [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).
        g_d_port = (u_int16_t)atoi((char*)g_s_d_port);
data/packit-1.7/src/injection.c:91:33:  [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.
    if(strstr(g_device, "any")) strcpy(g_device, "lo");
data/packit-1.7/src/injection.c:118: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 ufilter[1024];
data/packit-1.7/src/main.c:35:1:  [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 g_w_file[OPT_MAXLEN];
data/packit-1.7/src/main.c:36:1:  [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 g_r_file[OPT_MAXLEN];
data/packit-1.7/src/main.c:128:36:  [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).
                g_cnt = (u_int64_t)atoi(optarg);
data/packit-1.7/src/main.c:153:27:  [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).
		g_snap_len = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:314:47:  [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).
                g_ahdr_o.op_type = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:318:43:  [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).
                g_burst_rate = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:322:54:  [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).
                if(g_p_mode == M_TRACE && (u_int64_t)atoi(optarg) > 0xFF)
data/packit-1.7/src/main.c:325:36:  [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).
                g_cnt = (u_int64_t)atoi(optarg);
data/packit-1.7/src/main.c:329:45:  [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).
                g_i4hdr_o.code = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:407:41:  [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).
                g_r_timeout = (u_int8_t)atoi(optarg);
data/packit-1.7/src/main.c:424:56:  [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).
                    g_i4hdr_o.orig_s_port = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:429:46:  [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).
                g_i4hdr_o.rtime = (u_int32_t)atoi(optarg);
data/packit-1.7/src/main.c:433:45:  [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).
                g_i4hdr_o.type = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:444:56:  [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).
                    g_i4hdr_o.orig_d_port = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:449:49:  [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).
                g_i4hdr_o.orig_ttl = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:456:48:  [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).
                g_i4hdr_o.orig_id = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:460:44:  [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).
                g_ip4hdr_o.id = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:468:43:  [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).
                g_i4hdr_o.id = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:472:44:  [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).
                g_ip4hdr_o.tos = (u_int8_t)atoi(optarg);
data/packit-1.7/src/main.c:476:48:  [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).
                g_i4hdr_o.orig_tos = (u_int8_t)atoi(optarg);
data/packit-1.7/src/main.c:528:39:  [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).
                g_s_port = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:532:20:  [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).
                if(atoi(optarg) > 0xFF)
data/packit-1.7/src/main.c:535:45:  [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).
                g_ip4hdr_o.ttl = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:540:43:  [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).
                g_thdr_o.urp = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:544:46:  [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).
                g_i4hdr_o.otime = (u_int32_t)atoi(optarg);
data/packit-1.7/src/main.c:555:43:  [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).
                g_ip4hdr_o.p = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:559:45:  [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).
                g_interval_sec = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:563:43:  [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).
                g_thdr_o.win = (u_int16_t)atoi(optarg);
data/packit-1.7/src/main.c:583:46:  [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).
                g_i4hdr_o.ttime = (u_int32_t)atoi(optarg);
data/packit-1.7/src/main.c:587:40:  [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).
                g_pkt_len = (u_int16_t)atoi(optarg);
data/packit-1.7/src/print_injection.c:69:17:  [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(g_thdr_o.flags, "None");
data/packit-1.7/src/print_pktdump.c:42: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 hex_data[HEXDUMP_SHORTS_PER_LINE*HEXDUMP_HEXSTUFF_PER_SHORT+1], *hsp;
data/packit-1.7/src/print_pktdump.c:43: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 ascii_data[HEXDUMP_BYTES_PER_LINE+1], *asp;
data/packit-1.7/src/print_tcp_hdr.c:33: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 flags[7];
data/packit-1.7/src/print_tcp_hdr.c:70: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(flags, "None");
data/packit-1.7/src/print_ts.c:32: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 timestamp[TIMESTAMP_MAXLEN];
data/packit-1.7/src/utils.c:103: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((char*)ip, "%d", oct);
data/packit-1.7/src/utils.c:124:12:  [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((char*)eaddr, "%0x", oct);
data/packit-1.7/src/utils.c:136: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 msg[255];
data/packit-1.7/src/utils.c:177:17:  [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(icmp_c, "Network");
data/packit-1.7/src/utils.c:181:17:  [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(icmp_c, "Host");
data/packit-1.7/src/utils.c:185:17:  [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(icmp_c, "Protocol");
data/packit-1.7/src/utils.c:189:17:  [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(icmp_c, "Port");
data/packit-1.7/src/utils.c:193:17:  [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(icmp_c, "Need Fragment");
data/packit-1.7/src/utils.c:197:17:  [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(icmp_c, "Source Fail");
data/packit-1.7/src/utils.c:201:17:  [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(icmp_c, "Network Unknown");
data/packit-1.7/src/utils.c:205:17:  [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(icmp_c, "Host Unknown");
data/packit-1.7/src/utils.c:209:17:  [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(icmp_c, "Isolated");
data/packit-1.7/src/utils.c:213:17:  [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(icmp_c, "Network Prohibited");
data/packit-1.7/src/utils.c:217:17:  [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(icmp_c, "Host Prohibited");
data/packit-1.7/src/utils.c:221:17:  [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(icmp_c, "ToS Network");
data/packit-1.7/src/utils.c:225:17:  [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(icmp_c, "ToS Host");
data/packit-1.7/src/utils.c:229:17:  [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(icmp_c, "Filter Prohibited");
data/packit-1.7/src/utils.c:233:17:  [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(icmp_c, "Host Precedence");
data/packit-1.7/src/utils.c:237:17:  [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(icmp_c, "Precedence Cutoff");
data/packit-1.7/src/utils.c:241:17:  [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(icmp_c, "Unknown");
data/packit-1.7/src/utils.c:251:17:  [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(icmp_c, "Network");
data/packit-1.7/src/utils.c:255:17:  [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(icmp_c, "Host");
data/packit-1.7/src/utils.c:259:17:  [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(icmp_c, "ToS Net");
data/packit-1.7/src/utils.c:263:17:  [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(icmp_c, "ToS Host");
data/packit-1.7/src/utils.c:267:17:  [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(icmp_c, "Unknown");
data/packit-1.7/src/utils.c:277:17:  [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(icmp_c, "In Transit");
data/packit-1.7/src/utils.c:281:17:  [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(icmp_c, "Reassembly");
data/packit-1.7/src/utils.c:285:17:  [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(icmp_c, "Unknown");
data/packit-1.7/src/utils.c:295:17:  [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(icmp_c, "Missing Option");
data/packit-1.7/src/utils.c:299:17:  [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(icmp_c, "Unknown");
data/packit-1.7/src/utils.c:305:9:  [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(icmp_c, "Unknown");
data/packit-1.7/src/utils.c:324: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(icmp_t, "Echo Reply");
data/packit-1.7/src/utils.c:328: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(icmp_t, "Unreachable");
data/packit-1.7/src/utils.c:332: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(icmp_t, "Source Quench");
data/packit-1.7/src/utils.c:336: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(icmp_t, "Redirect");
data/packit-1.7/src/utils.c:340: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(icmp_t, "Echo Request");
data/packit-1.7/src/utils.c:344: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(icmp_t, "Time Exceeded");
data/packit-1.7/src/utils.c:348: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(icmp_t, "Param Problem");
data/packit-1.7/src/utils.c:352: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(icmp_t, "Timestamp");
data/packit-1.7/src/utils.c:356: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(icmp_t, "Timestamp Reply");
data/packit-1.7/src/utils.c:360: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(icmp_t, "Info Request");
data/packit-1.7/src/utils.c:364: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(icmp_t, "Info Reply");
data/packit-1.7/src/utils.c:368: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(icmp_t, "Router Advertise");
data/packit-1.7/src/utils.c:372: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(icmp_t, "Router Selection");
data/packit-1.7/src/utils.c:376: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(icmp_t, "Address Mask Request");
data/packit-1.7/src/utils.c:380: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(icmp_t, "Address Mask Reply");
data/packit-1.7/src/utils.c:384: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(icmp_t, "Traceroute");
data/packit-1.7/src/utils.c:388: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(icmp_t, "Unknown");
data/packit-1.7/src/utils.c:407: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(arp_t, "Request");
data/packit-1.7/src/utils.c:411: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(arp_t, "Reply");
data/packit-1.7/src/utils.c:415: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(arp_t, "Reverse Request");
data/packit-1.7/src/utils.c:419: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(arp_t, "Reverse Reply");
data/packit-1.7/src/utils.c:423: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(arp_t, "Inverse Request");
data/packit-1.7/src/utils.c:427: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(arp_t, "Inverse Reply");
data/packit-1.7/src/utils.c:431: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(arp_t, "Unknown");
data/packit-1.7/src/utils.c:454: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(hw_t, "Net/ROM Pseudo");
data/packit-1.7/src/utils.c:458: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(hw_t, "Ethernet 10/100");
data/packit-1.7/src/utils.c:462: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(hw_t, "Experimental Ethernet");
data/packit-1.7/src/utils.c:466: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(hw_t, "AX.25 Level 2");
data/packit-1.7/src/utils.c:470: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(hw_t, "ProNet Token Ring");
data/packit-1.7/src/utils.c:474: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(hw_t, "IEEE 802.2 Ethernet");
data/packit-1.7/src/utils.c:478: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(hw_t, "ARCNet");
data/packit-1.7/src/utils.c:482: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(hw_t, "AppleTalk");
data/packit-1.7/src/utils.c:486: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(hw_t, "Lanstar");
data/packit-1.7/src/utils.c:490: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(hw_t, "Frame Relay DLCI");
data/packit-1.7/src/utils.c:494: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(hw_t, "ATM");
data/packit-1.7/src/utils.c:498: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(hw_t, "Metricom STRIP");
data/packit-1.7/src/utils.c:502: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(hw_t, "IPsec Tunnel");
data/packit-1.7/src/utils.c:581: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 o_rangestr[11], *ptr, *delim = "-";
data/packit-1.7/src/utils.c:596:26:  [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).
        spread[i] = (int)atoi(ptr);
data/packit-1.7/src/utils.c:658: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 tchar[2];
data/packit-1.7/src/utils.c:679:9:  [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(tchar,"%c",(u_int8_t)c);
data/packit-1.7/src/capture.c:56:8:  [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(g_r_file) > 0)
data/packit-1.7/src/capture.c:73:8:  [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(g_w_file) > 0)
data/packit-1.7/src/capture.c:105:8:  [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(g_r_file) > 0)
data/packit-1.7/src/contrib/pcap-int.h:191:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	(strncpy((x), (y), (z)), \
data/packit-1.7/src/contrib/pcap-int.h:193:3:  [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((y)))
data/packit-1.7/src/define_defaults.c:43:5:  [1] (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 character.
    strcpy((char*)g_s_d_port, "0");
data/packit-1.7/src/injection.c:67:22:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/main.c:145:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(g_w_file, optarg, OPT_MAXLEN);
data/packit-1.7/src/main.c:149:17:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                strncpy(g_r_file, optarg, OPT_MAXLEN);
data/packit-1.7/src/main.c:337: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:421: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:441: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:453: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:465: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:508: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:523: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/main.c:552: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).
                if(strlen(optarg) == 1 && !strncmp(optarg, "R", 1))
data/packit-1.7/src/print_injection.c:51:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "S");
data/packit-1.7/src/print_injection.c:54:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "A");
data/packit-1.7/src/print_injection.c:57:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "F");
data/packit-1.7/src/print_injection.c:60:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "R");
data/packit-1.7/src/print_injection.c:63:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "P");
data/packit-1.7/src/print_injection.c:66:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(g_thdr_o.flags, "U");
data/packit-1.7/src/print_injection.c:68: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).
            if(strlen(g_thdr_o.flags) < 1)
data/packit-1.7/src/print_tcp_hdr.c:52:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "U");
data/packit-1.7/src/print_tcp_hdr.c:55:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "A");
data/packit-1.7/src/print_tcp_hdr.c:58:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "P");
data/packit-1.7/src/print_tcp_hdr.c:61:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "R");
data/packit-1.7/src/print_tcp_hdr.c:64:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "S");
data/packit-1.7/src/print_tcp_hdr.c:67:9:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
        strcat(flags, "F");
data/packit-1.7/src/print_tcp_hdr.c:69:8:  [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(flags) == 0)
data/packit-1.7/src/shape_icmpv4_hdr.c:63: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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_icmpv4_hdr.c:142:37:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_icmpv4_hdr.c:197:37:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_icmpv4_hdr.c:244:37:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_icmpv4_hdr.c:297: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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_icmpv4_hdr.c:340: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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_ipv4_hdr.c:73:25:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_tcp_hdr.c:58:25:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/shape_udp_hdr.c:51:25:  [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_payload_len = strlen((char*)g_payload);
data/packit-1.7/src/utils.c:147: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).
    msg_len = strlen(msg);
data/packit-1.7/src/utils.c:554:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy((char*)o_ethstr, (char*)ethstr, 18);
data/packit-1.7/src/utils.c:590:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(o_rangestr, rangestr, 11);
data/packit-1.7/src/utils.c:669:23:  [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).
    memset(string, 0, strlen(string));
data/packit-1.7/src/utils.c:680:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(string+len,tchar,2);

ANALYSIS SUMMARY:

Hits = 172
Lines analyzed = 6161 in approximately 0.22 seconds (28519 lines/second)
Physical Source Lines of Code (SLOC) = 3490
Hits@level = [0] 324 [1]  45 [2] 118 [3]   5 [4]   4 [5]   0
Hits@level+ = [0+] 496 [1+] 172 [2+] 127 [3+]   9 [4+]   4 [5+]   0
Hits/KSLOC@level+ = [0+] 142.12 [1+] 49.2837 [2+] 36.3897 [3+] 2.5788 [4+] 1.14613 [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.