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/mz-0.40/src/send.c Examining data/mz-0.40/src/mops_ext_lldp.c Examining data/mz-0.40/src/time.c Examining data/mz-0.40/src/mops_update.c Examining data/mz-0.40/src/cli_eth.c Examining data/mz-0.40/src/mops_threads.c Examining data/mz-0.40/src/cli_interface.c Examining data/mz-0.40/src/mops_ext_bpdu.c Examining data/mz-0.40/src/layer3.c Examining data/mz-0.40/src/mopsrx_arp.c Examining data/mz-0.40/src/cli_tools.c Examining data/mz-0.40/src/cdp.c Examining data/mz-0.40/src/mops_checksums.c Examining data/mz-0.40/src/tx_switch.c Examining data/mz-0.40/src/cli_tcp.c Examining data/mz-0.40/src/syslog.c Examining data/mz-0.40/src/send_eth.c Examining data/mz-0.40/src/cli_igmp.c Examining data/mz-0.40/src/mz.h Examining data/mz-0.40/src/mops_ext_arp.c Examining data/mz-0.40/src/cli_sequence.c Examining data/mz-0.40/src/tools.c Examining data/mz-0.40/src/cli.h Examining data/mz-0.40/src/directmops.c Examining data/mz-0.40/src/cli_udp.c Examining data/mz-0.40/src/mops_tools.c Examining data/mz-0.40/src/cli_ip.c Examining data/mz-0.40/src/cli_lldp.c Examining data/mz-0.40/src/dns.c Examining data/mz-0.40/src/mops_ext_rtp.c Examining data/mz-0.40/src/rtp.c Examining data/mz-0.40/src/cli_packet.c Examining data/mz-0.40/src/layer1.c Examining data/mz-0.40/src/lookupdev.c Examining data/mz-0.40/src/init.c Examining data/mz-0.40/src/cli_set.c Examining data/mz-0.40/src/mops_sequence.c Examining data/mz-0.40/src/parse_xml.c Examining data/mz-0.40/src/llist.h Examining data/mz-0.40/src/cli_bpdu.c Examining data/mz-0.40/src/mops_dot1Q.c Examining data/mz-0.40/src/layer2.c Examining data/mz-0.40/src/mops.h Examining data/mz-0.40/src/mops_ext.c Examining data/mz-0.40/src/cli_arp.c Examining data/mz-0.40/src/layer4.c Examining data/mz-0.40/src/mops.c Examining data/mz-0.40/src/cli.c Examining data/mz-0.40/src/mz.c Examining data/mz-0.40/src/mops_mpls.c Examining data/mz-0.40/src/mops_ip.c Examining data/mz-0.40/src/automops.c Examining data/mz-0.40/src/cli_rtp.c Examining data/mz-0.40/src/mops_ext_igmp.c Examining data/mz-0.40/src/hextools.c Examining data/mz-0.40/src/rcv_rtp.c Examining data/mz-0.40/src/modifications.c Examining data/mz-0.40/src/cli_legacy.c Examining data/mz-0.40/src/mops_tcp.c Examining data/mz-0.40/src/llist.c Examining data/mz-0.40/src/cli_dns.c Examining data/mz-0.40/src/cli_launch.c Examining data/mz-0.40/src/cli_cmds.c FINAL RESULTS: data/mz-0.40/src/cdp.c:531:2: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(argval, "%u/%s", &type1, value1); data/mz-0.40/src/cdp.c:539:2: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(argval, "%u/%s", &type2, pld); data/mz-0.40/src/cli.c:31:2: [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(mz_username, MZ_DEFAULT_USERNAME); data/mz-0.40/src/cli.c:32:2: [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(mz_password, MZ_DEFAULT_PASSWORD); data/mz-0.40/src/cli.c:33:2: [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(mz_enable, MZ_DEFAULT_ENABLE_PASSWORD); data/mz-0.40/src/cli.c:79:21: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (!user) user = sscanf(line, " user = %s ", mz_username); data/mz-0.40/src/cli.c:80:21: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (!pass) pass = sscanf(line, " password = %s ", mz_password); data/mz-0.40/src/cli.c:81:20: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (!ena) ena = sscanf(line, " enable = %s ", mz_enable); data/mz-0.40/src/cli.c:82:20: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (!cli) cli = sscanf(line, " cli-device = %s ", dev); data/mz-0.40/src/cli.c:99:32: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (!mgmt_only) mgmt_only = sscanf(line, " management-only = %s ", dev); data/mz-0.40/src/cli.c:115:10: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. amp = sscanf(line, " automops = %s ", path); data/mz-0.40/src/cli_cmds.c:335:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "%5i %-16s %s %-8s %4i %-9s %-6s %10s%9lu/%lu (%i%%)\r", data/mz-0.40/src/cli_cmds.c:403:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "State: %s, Count=%lu, delay=%s (%lu s %lu nsec), interval= %s\r", data/mz-0.40/src/cli_cmds.c:456:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ds, "%i:%i%s", data/mz-0.40/src/cli_cmds.c:483:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ds, "%i:%i:%i%s", data/mz-0.40/src/cli_cmds.c:509:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "SA=%u.%u.%u.%u %s %s %s", data/mz-0.40/src/cli_cmds.c:528:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "DA=%u.%u.%u.%u %s %s", data/mz-0.40/src/cli_cmds.c:534:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "ToS=0x%02x proto=%u TTL=%u ID=%u offset=%u flags: %s|%s|%s", data/mz-0.40/src/cli_cmds.c:549:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "len=%u(%s) checksum=0x%02x%02x(%s)", data/mz-0.40/src/cli_cmds.c:570:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "SP=%i %s %s, DP=%i %s %s\r", data/mz-0.40/src/cli_cmds.c:578:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "checksum= %04x (%s), length= %u (%s)", data/mz-0.40/src/cli_cmds.c:596:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "SP=%i %s %s, DP=%i %s %s\r", data/mz-0.40/src/cli_cmds.c:604:14: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "SQNR=%u (start %u, stop %u, delta %u) -- ACKNR=%u %s", data/mz-0.40/src/cli_cmds.c:613:14: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "Flags: %s, reserved field is %02x, urgent pointer= %u", data/mz-0.40/src/cli_cmds.c:620:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "Offset= %u (times 32 bit; value is %s), checksum= %04x (%s)", data/mz-0.40/src/cli_cmds.c:626:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "%s - %u bytes defined", data/mz-0.40/src/cli_cmds.c:696:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "%-10s %-15s %02x:%02x:%02x:%02x:%02x:%02x %-15s %02x:%02x:%02x:%02x:%02x:%02x", data/mz-0.40/src/cli_cmds.c:735:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "interface %s [%i] %s%stype %s, MTU=%i bytes", // general HW info data/mz-0.40/src/cli_cmds.c:757:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line,"IP addr: %s mask %u.%u.%u.%u (net %u.%u.%u.%u)", data/mz-0.40/src/cli_cmds.c:1388:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(s, "%-7s [%i] %s%s %15s %02x:%02x:%02x:%02x:%02x:%02x %8s %5s %5s %5s %04x", data/mz-0.40/src/cli_interface.c:47:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(prompt, "if-%s", device_list[i].dev); data/mz-0.40/src/cli_ip.c:854:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "%s", (clipkt->auto_delivery_off) ? "DISABLED" : "ENABLED"); data/mz-0.40/src/cli_ip.c:873:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "%s", (clipkt->auto_delivery_off) ? "DISABLED" : "ENABLED"); data/mz-0.40/src/cli_rtp.c:56:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(state, "%s", (pd->p) ? "SET" : "UNSET"); data/mz-0.40/src/cli_rtp.c:83:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(state, "%s", (pd->x) ? "SET" : "UNSET"); data/mz-0.40/src/cli_rtp.c:109:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(state, "%s", (pd->m) ? "SET" : "UNSET"); data/mz-0.40/src/cli_tools.c:36:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str256, "The default value is %s. The current value is %u (0x%04x).", def, val, val); data/mz-0.40/src/hextools.c:53:4: [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(tmp,str); // necessary because strtok cannot operate on fixed strings data/mz-0.40/src/hextools.c:167:2: [4] (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). strcat(str,t); data/mz-0.40/src/init.c:431:3: [4] (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). strcat(tx.arg_string, hexpld); data/mz-0.40/src/lookupdev.c:233:3: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(line, " %s %s %s %s %s %s %s %s %s %s", f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8], f[9]); data/mz-0.40/src/mops.c:530:2: [4] (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). strcat(hex, lnr); data/mz-0.40/src/mops.c:543:5: [4] (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). strcat(hex, lnr); data/mz-0.40/src/mops.c:547:7: [4] (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). strcat(hex, octet); data/mz-0.40/src/mops.c:552:4: [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(str, hex); data/mz-0.40/src/mops_tcp.c:87:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "%s-%s-%s-%s-%s-%s-%s-%s", data/mz-0.40/src/mops_tools.c:249:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "%u%s sec", s, (t->tv_nsec>1000000) ? "+" : ""); data/mz-0.40/src/rcv_rtp.c:763:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(bar, "%s%4.2f msec !%lu dropped!", str, (double) j/1000, (unsigned long int) d); data/mz-0.40/src/rcv_rtp.c:765:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(bar, "%s%4.2f msec", str, (double) j/1000); data/mz-0.40/src/send_eth.c:127:5: [4] (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). strcat(tx.mpls_verbose_string, verbose_mpls_string); data/mz-0.40/src/syslog.c:212:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char*) tx.udp_payload, "<%d>%s %2i %s %s ", data/mz-0.40/src/tools.c:97:8: [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(arg_value,subtoken); data/mz-0.40/src/init.c:178:4: [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((unsigned int)t); data/mz-0.40/src/init.c:215:14: [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 ((c = getopt (argc, argv, "hqvVSxra:A:b:B:c:d:f:F:p:P:t:T:M:Q:X:")) != -1) data/mz-0.40/src/mops.h:124:16: [3] (random) random: 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. int random; // 1=random, 0=use start/stop/step data/mz-0.40/src/mops.h:840:18: [3] (random) random: 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. int random, // 1=random, 0=use start/stop/step data/mz-0.40/src/mops_tools.c:138:18: [3] (random) random: 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. int random, // 1=random, 0=use start/stop/step data/mz-0.40/src/mops_tools.c:160:28: [3] (random) random: 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. mp->counter[i].random = random; data/mz-0.40/src/tools.c:1104:2: [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(r); data/mz-0.40/src/automops.c:188: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 str[64], ft[32]; data/mz-0.40/src/automops.c:191: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 bits_on[18], bits_off[18]; data/mz-0.40/src/automops.c:308:3: [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((void*) new_automops->payload, amp->payload, amp->payload_s); data/mz-0.40/src/automops.c:351:4: [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((void*) h->str, (void*) f->str, f->str_s); data/mz-0.40/src/automops.c:602:3: [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((void*)amp->payload, (void*) x, i); data/mz-0.40/src/automops.c:969:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = fopen (fn, "r"); data/mz-0.40/src/cdp.c:127:4: [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((void*) target, (void*) value, (size_t) value_len); data/mz-0.40/src/cdp.c:166:4: [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 data/mz-0.40/src/cdp.c:199:4: [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 data/mz-0.40/src/cdp.c:250:2: [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((void*) tx.cdp_tlv_id, (void*) default_id, 15); data/mz-0.40/src/cdp.c:323:2: [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((void*) tx.cdp_tlv_id, (void*) "Mausezahn 00000000000", 21); data/mz-0.40/src/cdp.c:335:4: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:367:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:379:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:407:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:418:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:429:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:439:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:459:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:488:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:517:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:550:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) value, len); data/mz-0.40/src/cdp.c:564:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:572:2: [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((void*) tx.cdp_payload+next_pbyte, (void*) tlv, tlv_len); data/mz-0.40/src/cdp.c:624:4: [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 ((void*) packet+4, (void*) tx.cdp_payload, tx.cdp_payload_s); data/mz-0.40/src/cdp.c:658:4: [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 ((void*) tx.eth_payload, (void*) llcsnap, 8); data/mz-0.40/src/cdp.c:659:4: [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 ((void*) tx.eth_payload+8, (void*) packet, packet_s); data/mz-0.40/src/cli.c:52: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 filename[256]; data/mz-0.40/src/cli.c:53: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 line[256]; data/mz-0.40/src/cli.c:54: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 path[256]; data/mz-0.40/src/cli.c:56: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 dev[256]; data/mz-0.40/src/cli.c:69:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = fopen (filename, "r"); data/mz-0.40/src/cli.c:205:4: [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[128]; data/mz-0.40/src/cli.h:89: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 mz_username[32]; data/mz-0.40/src/cli.h:90: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 mz_password[32]; data/mz-0.40/src/cli.h:91: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 mz_enable[32]; data/mz-0.40/src/cli_arp.c:227:4: [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 prompt[16]; data/mz-0.40/src/cli_arp.c:228:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/cli_bpdu.c:30:4: [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[256]; data/mz-0.40/src/cli_bpdu.c:101:4: [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[16]; data/mz-0.40/src/cli_bpdu.c:183: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 p[64], e[64]; data/mz-0.40/src/cli_bpdu.c:293:4: [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 p[64], e[64]; data/mz-0.40/src/cli_bpdu.c:411:4: [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[256]; data/mz-0.40/src/cli_bpdu.c:472:4: [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[256]; data/mz-0.40/src/cli_bpdu.c:531:4: [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[256]; data/mz-0.40/src/cli_bpdu.c:586:4: [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[256]; data/mz-0.40/src/cli_bpdu.c:745:4: [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 prompt[16]; data/mz-0.40/src/cli_bpdu.c:746:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/cli_cmds.c:184:4: [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 name[32], ds[16], pr[16], ps[16]; data/mz-0.40/src/cli_cmds.c:185:4: [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 myframe[MAX_MOPS_FRAME_SIZE*3]; data/mz-0.40/src/cli_cmds.c:186:4: [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 mystate[32]; data/mz-0.40/src/cli_cmds.c:187:4: [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 line[150], line2[150], line3[150]; data/mz-0.40/src/cli_cmds.c:188:4: [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 delay_str[64]; data/mz-0.40/src/cli_cmds.c:285:5: [2] (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 string. strcat(ps, "NULL"); // should never happen! data/mz-0.40/src/cli_cmds.c:288:5: [2] (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 string. strcat(ps, "init"); data/mz-0.40/src/cli_cmds.c:291:5: [2] (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 string. strcat(ps, "config"); data/mz-0.40/src/cli_cmds.c:294:5: [2] (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 string. strcat(ps, "active"); data/mz-0.40/src/cli_cmds.c:298:19: [2] (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 string. strcat(ps, "actseq"); data/mz-0.40/src/cli_cmds.c:302:5: [2] (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 string. strcat(ps, "unknown"); data/mz-0.40/src/cli_cmds.c:324:5: [2] (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 string. strcat(name, "..."); data/mz-0.40/src/cli_cmds.c:382:7: [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(mystate, "NULL"); data/mz-0.40/src/cli_cmds.c:385:7: [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(mystate, "init"); data/mz-0.40/src/cli_cmds.c:388:7: [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(mystate, "config"); data/mz-0.40/src/cli_cmds.c:391:7: [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(mystate, "active(tx)"); data/mz-0.40/src/cli_cmds.c:394:7: [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(mystate, "unknown"); data/mz-0.40/src/cli_cmds.c:401:7: [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(line2, "(undefined)"); data/mz-0.40/src/cli_cmds.c:447:7: [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(line, "%i tag(s); ", k); data/mz-0.40/src/cli_cmds.c:461:18: [2] (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 string. if (j<(k-1)) strcat(line, ", "); data/mz-0.40/src/cli_cmds.c:470:7: [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(line, "%i tag(s); ", k); data/mz-0.40/src/cli_cmds.c:489:18: [2] (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 string. if (j<(k-1)) strcat(line, ", "); data/mz-0.40/src/cli_cmds.c:505:5: [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(line2, "%u.%u.%u.%u-%u.%u.%u.%u", data/mz-0.40/src/cli_cmds.c:523:5: [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(line2, "%u.%u.%u.%u-%u.%u.%u.%u", data/mz-0.40/src/cli_cmds.c:543:6: [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(line, "NOTE: Auto-fragmentation is ON! Fragment size %u bytes, overlap %u", data/mz-0.40/src/cli_cmds.c:563:6: [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(line2, "RANGE: %u-%u", clipkt->sp_start, clipkt->sp_stop); data/mz-0.40/src/cli_cmds.c:565:6: [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(line2, "(norange)"); data/mz-0.40/src/cli_cmds.c:567:6: [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(line3, "RANGE: %u-%u", clipkt->dp_start, clipkt->dp_stop); data/mz-0.40/src/cli_cmds.c:569:6: [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(line3, "(norange)"); data/mz-0.40/src/cli_cmds.c:586:7: [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(line, "%u bytes segment size (including TCP header)", mp->tcp_len); data/mz-0.40/src/cli_cmds.c:589:4: [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(line2, "RANGE: %u-%u", clipkt->sp_start, clipkt->sp_stop); data/mz-0.40/src/cli_cmds.c:591:11: [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(line2, "(norange)"); data/mz-0.40/src/cli_cmds.c:593:11: [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(line3, "RANGE: %u-%u", clipkt->dp_start, clipkt->dp_stop); data/mz-0.40/src/cli_cmds.c:595:11: [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(line3, "(norange)"); data/mz-0.40/src/cli_cmds.c:618:7: [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(line, "Announced window size= %u", clipkt->tcp_win); data/mz-0.40/src/cli_cmds.c:653: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 line[100]; data/mz-0.40/src/cli_cmds.c:654: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 ip[20]; data/mz-0.40/src/cli_cmds.c:690:4: [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(ip,"%u.%u.%u.%u", data/mz-0.40/src/cli_cmds.c:743:4: [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(line, "MAC bia: %02x:%02x:%02x:%02x:%02x:%02x\n MAC fake: %02x:%02x:%02x:%02x:%02x:%02x", data/mz-0.40/src/cli_cmds.c:768:4: [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(line,"IP fake: %u.%u.%u.%u", data/mz-0.40/src/cli_cmds.c:774:4: [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(line,"GW addr: %u.%u.%u.%u (%02x:%02x:%02x:%02x:%02x:%02x)", data/mz-0.40/src/cli_cmds.c:802:4: [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 hexload[3*MAX_PAYLOAD_SIZE]; data/mz-0.40/src/cli_cmds.c:1193: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 tmp[120]; data/mz-0.40/src/cli_cmds.c:1339:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen(argv[i], "r"); data/mz-0.40/src/cli_cmds.c:1360: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 s[128], ip[20], uc[16], bc[16], ch[16]; data/mz-0.40/src/cli_cmds.c:1384:4: [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(ip,"%i.%i.%i.%i",cur->sip[0],cur->sip[1],cur->sip[2],cur->sip[3]); data/mz-0.40/src/cli_cmds.c:1385:59: [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. if (cur->changed>99999) mz_strncpy(ch,"ALERT",6); else sprintf(ch,"%lu", cur->changed); data/mz-0.40/src/cli_cmds.c:1386:60: [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. if (cur->uni_resp>99999) mz_strncpy(uc,"ALERT",6); else sprintf(uc,"%lu", cur->uni_resp); data/mz-0.40/src/cli_cmds.c:1387:59: [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. if (cur->bc_resp>99999) mz_strncpy(bc,"ALERT",6); else sprintf(bc,"%lu", cur->bc_resp); data/mz-0.40/src/cli_cmds.c:1413:5: [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(s," previous MAC was: %02x:%02x:%02x:%02x:%02x:%02x time delta: %u sec %u msec", data/mz-0.40/src/cli_dns.c:48:4: [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 prompt[16]; data/mz-0.40/src/cli_dns.c:49:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/cli_eth.c:261:4: [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(&clipkt->eth_snap[0], &t8, 3); data/mz-0.40/src/cli_eth.c:262:4: [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(&clipkt->eth_snap[3], &oui, 3); data/mz-0.40/src/cli_eth.c:263:4: [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(&clipkt->eth_snap[6], &etp, 2); data/mz-0.40/src/cli_interface.c:32:4: [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 prompt[10]; data/mz-0.40/src/cli_ip.c:851: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 str[16]; data/mz-0.40/src/cli_ip.c:884:4: [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 prompt[16]; data/mz-0.40/src/cli_ip.c:885:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/cli_legacy.c:28:4: [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 argstr[10000]; data/mz-0.40/src/cli_legacy.c:43:5: [2] (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 string. strcat(argstr, ",help"); data/mz-0.40/src/cli_lldp.c:92:3: [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((void*) pd->chassis_id, (void*)tmp, cidl); data/mz-0.40/src/cli_lldp.c:141:3: [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((void*) pd->port_id, (void*) pid, pl); data/mz-0.40/src/cli_packet.c:42: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 prompt[16]; data/mz-0.40/src/cli_packet.c:88: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 prompt[16]; data/mz-0.40/src/cli_packet.c:119:4: [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(prompt, "pkt-%i-arp",clipkt->id); data/mz-0.40/src/cli_packet.c:136:4: [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(prompt, "pkt-%i-dns",clipkt->id); data/mz-0.40/src/cli_packet.c:150:4: [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(prompt, "pkt-%i-icmp",clipkt->id); data/mz-0.40/src/cli_packet.c:166:4: [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(prompt, "pkt-%i-igmp",clipkt->id); data/mz-0.40/src/cli_packet.c:181:4: [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(prompt, "pkt-%i-cdp",clipkt->id); data/mz-0.40/src/cli_packet.c:195:4: [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(prompt, "pkt-%i-bpdu",clipkt->id); data/mz-0.40/src/cli_packet.c:206:3: [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(prompt, "pkt-%i-ip",clipkt->id); data/mz-0.40/src/cli_packet.c:217:3: [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(prompt, "pkt-%i-udp",clipkt->id); data/mz-0.40/src/cli_packet.c:228:3: [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(prompt, "pkt-%i-tcp",clipkt->id); data/mz-0.40/src/cli_packet.c:242:4: [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(prompt, "pkt-%i-syslog",clipkt->id); data/mz-0.40/src/cli_packet.c:255:4: [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(prompt, "pkt-%i-lldp",clipkt->id); data/mz-0.40/src/cli_packet.c:270:4: [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(prompt, "pkt-%i-rtp",clipkt->id); data/mz-0.40/src/cli_packet.c:399: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 str[100]; data/mz-0.40/src/cli_packet.c:431:2: [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(str, "Inter-packet delay set to %lu sec and %lu nsec", clipkt->ndelay.tv_sec, clipkt->ndelay.tv_nsec); data/mz-0.40/src/cli_packet.c:455:7: [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((void *) &clipkt->eth_src, (void *) &device_list[i].mac_mops[0], 6); data/mz-0.40/src/cli_packet.c:456:7: [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((void *) &clipkt->ip_src, (void *) &device_list[i].ip_mops[0], 4); data/mz-0.40/src/cli_packet.c:491:4: [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 Vlan[64], CoS[64]; data/mz-0.40/src/cli_packet.c:687:4: [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 LabelS[64], ExpS[64], TTLS[64]; data/mz-0.40/src/cli_packet.c:904:4: [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[MAX_MOPS_MSG_SIZE*3]; data/mz-0.40/src/cli_packet.c:976:4: [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[MAX_MOPS_MSG_SIZE*3]; data/mz-0.40/src/cli_packet.c:1018:10: [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((void*) &str[i-1], (void*) &str[i], len-i+1); data/mz-0.40/src/cli_packet.c:1028:2: [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((void*) clipkt->msg, (void*) str, len); data/mz-0.40/src/cli_rtp.c:51:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char state[8]; data/mz-0.40/src/cli_rtp.c:76: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 state[8]; data/mz-0.40/src/cli_rtp.c:104: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 state[8]; data/mz-0.40/src/cli_rtp.c:306: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 str[80]; data/mz-0.40/src/cli_rtp.c:324:4: [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(str, "Parameter %i: Invalid number!", i); data/mz-0.40/src/cli_rtp.c:330:4: [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(str, "Parameter %i: Range exceeded (0..ffffffff)", i); data/mz-0.40/src/cli_sequence.c:34: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 str[512]; data/mz-0.40/src/cli_sequence.c:123: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 str[128]; data/mz-0.40/src/cli_sequence.c:167:2: [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(str, "Delay set to %lu sec and %lu nsec", data/mz-0.40/src/cli_sequence.c:221: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 str[512], name[32], layers[16], proto[16]; data/mz-0.40/src/cli_sequence.c:249:5: [2] (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 string. strcat(name, "..."); data/mz-0.40/src/cli_tcp.c:209:4: [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[64]; data/mz-0.40/src/cli_tcp.c:303:4: [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[64]; data/mz-0.40/src/cli_tcp.c:337: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 str[64]; data/mz-0.40/src/cli_tcp.c:368: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 str[64]; data/mz-0.40/src/cli_tcp.c:400: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 str[64]; data/mz-0.40/src/cli_tcp.c:432: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 str[64]; data/mz-0.40/src/cli_tcp.c:463: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 str[64]; data/mz-0.40/src/cli_tcp.c:494: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 str[64]; data/mz-0.40/src/cli_tcp.c:525: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 str[64]; data/mz-0.40/src/cli_tcp.c:675:4: [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 prompt[16]; data/mz-0.40/src/cli_tcp.c:676:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/cli_udp.c:200:4: [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 prompt[16]; data/mz-0.40/src/cli_udp.c:201:4: [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(prompt, "pkt-%i",clipkt->id); data/mz-0.40/src/dns.c:102:4: [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 *token, *tokenptr, argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/dns.c:675:4: [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 field1[512], field2[512], field3[512]; data/mz-0.40/src/hextools.c:51:4: [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 tmp[32]; data/mz-0.40/src/hextools.c:94: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 tmp[8192]=""; //for very long payloads data/mz-0.40/src/hextools.c:128:4: [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 tmp[8192]=""; //for very long payloads data/mz-0.40/src/hextools.c:158:4: [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 t[4]; data/mz-0.40/src/hextools.c:166:2: [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(t,"%02x:",bs[i]); data/mz-0.40/src/hextools.c:278:4: [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[8]; data/mz-0.40/src/hextools.c:281:11: [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. (void) sprintf (hex, "%x",type); data/mz-0.40/src/init.c:205: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 err_buf[LIBNET_ERRBUF_SIZE]; data/mz-0.40/src/init.c:209: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 hexpld[MAX_PAYLOAD_SIZE*2]; data/mz-0.40/src/init.c:319:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). afp = fopen(optarg, "r"); data/mz-0.40/src/init.c:326:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). afp = fopen(optarg, "r"); data/mz-0.40/src/init.c:396:4: [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(tx.device, "lo"); data/mz-0.40/src/init.c:414: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(tx.device, "lo"); data/mz-0.40/src/init.c:430:3: [2] (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 string. strcat(tx.arg_string, ",p="); data/mz-0.40/src/layer1.c:59:4: [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 data/mz-0.40/src/layer2.c:117:4: [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 data/mz-0.40/src/layer2.c:459:4: [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[LIBNET_ERRBUF_SIZE]; data/mz-0.40/src/layer2.c:464:4: [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 argval[64]; data/mz-0.40/src/layer2.c:465:4: [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 dum1[32], dum2[32]; data/mz-0.40/src/layer3.c:77:4: [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[LIBNET_ERRBUF_SIZE]; data/mz-0.40/src/layer3.c:109:4: [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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/layer3.c:150:2: [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( (void*) tx.ip_payload, (void*) tx.hex_payload, tx.hex_payload_s); data/mz-0.40/src/layer4.c:134:4: [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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/layer4.c:187:2: [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( (void*) tx.udp_payload, (void*) tx.hex_payload, tx.hex_payload_s); data/mz-0.40/src/layer4.c:295:4: [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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/layer4.c:407:2: [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( (void*) tx.icmp_payload, (void*) tx.hex_payload, tx.hex_payload_s); data/mz-0.40/src/layer4.c:472:7: [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(tx.icmp_verbose_txt,"ICMP Redirect, GW=%u.%u.%u.%u", data/mz-0.40/src/layer4.c:489:7: [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(tx.icmp_verbose_txt,"ICMP Echo Request (id=%u seq=%u)\n",tx.icmp_ident,tx.icmp_sqnr); data/mz-0.40/src/layer4.c:502:7: [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(tx.icmp_verbose_txt,"ICMP unreachable (code=%u)\n",tx.icmp_code); data/mz-0.40/src/layer4.c:537:4: [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 argval[MAX_PAYLOAD_SIZE], *dummy1, *dummy2; data/mz-0.40/src/layer4.c:647:2: [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( (void*) tx.tcp_payload, (void*) tx.hex_payload, tx.hex_payload_s); data/mz-0.40/src/llist.h:44: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 name[MZ_LL_NAME_LEN]; data/mz-0.40/src/lookupdev.c:45:4: [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 data/mz-0.40/src/lookupdev.c:207: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 f[10][16], line[256]; data/mz-0.40/src/lookupdev.c:231:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = fopen("/proc/net/route", "r"); data/mz-0.40/src/modifications.c:477:4: [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 pld[65535]; data/mz-0.40/src/modifications.c:478:4: [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 sa[32], da[32]; data/mz-0.40/src/modifications.c:502:70: [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. (mode==IP) ? (void) bs2str(tx.ip_payload, pld, tx.ip_payload_s) : strcpy(pld, "[see next layer]"); data/mz-0.40/src/mops.c:91: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 pname[MAX_MOPS_PACKET_NAME_LEN]; data/mz-0.40/src/mops.c:114:3: [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(pname, "PKT%04d", pkt_id_name); data/mz-0.40/src/mops.c:194: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 pname[16]; data/mz-0.40/src/mops.c:216:3: [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(pname, "PKT%04d", i); data/mz-0.40/src/mops.c:238: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 output[100]; data/mz-0.40/src/mops.c:425:2: [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((void *) &mp->eth_dst, (void *) &tx.eth_dst, 6); data/mz-0.40/src/mops.c:426:2: [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((void *) &mp->eth_src, (void *) &tx.eth_src, 6); data/mz-0.40/src/mops.c:521:4: [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 octet[8], lnr[8], hex[MAX_MOPS_FRAME_SIZE*3]; data/mz-0.40/src/mops.c:529:2: [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(lnr,"%4i ",i+1); data/mz-0.40/src/mops.c:542:5: [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(lnr,"\n%4i ",i+1); data/mz-0.40/src/mops.c:546:7: [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(octet, "%02x:", mp->frame[i]); data/mz-0.40/src/mops.c:690:4: [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((void *) &mp->eth_src, (void *) &device_list[i].mac_mops[0], 6); data/mz-0.40/src/mops.c:691:4: [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((void *) &mp->ip_src, (void *) &device_list[i].ip_mops[0], 4); data/mz-0.40/src/mops.c:708: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 ds[16], pr[16]; data/mz-0.40/src/mops.h:159: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 name[AUTOMOPS_MAX_NAME_LEN+1]; // Official name of field -- CASE INSENSITIVE data/mz-0.40/src/mops.h:160: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 shortdesc[AUTOMOPS_MAX_SHORTDESC_LEN+1]; // One-line description data/mz-0.40/src/mops.h:177: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 valname[AUTOMOPS_MAX_NAME_LEN+1]; data/mz-0.40/src/mops.h:212: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 name[AUTOMOPS_MAX_NAME_LEN+1]; // Protocol name data/mz-0.40/src/mops.h:213: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 desc[AUTOMOPS_MAX_SHORTDESC_LEN+1]; // One-line description data/mz-0.40/src/mops.h:263:4: [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 packet_name[MAX_MOPS_PACKET_NAME_LEN]; // Each packet must have unique name data/mz-0.40/src/mops.h:264:4: [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 description[MAX_MOPS_DESCRIPTION_LEN]; // An optional short packet description data/mz-0.40/src/mops.h:271:4: [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 device[16]; // every packet could be sent through a different device data/mz-0.40/src/mops_checksums.c:102:2: [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[13], &mp->frame[mp->begin_UDP], len); data/mz-0.40/src/mops_checksums.c:116:2: [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[13], &mp->frame[mp->begin_TCP], len); data/mz-0.40/src/mops_dot1Q.c:58:2: [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(&mp->dot1Q[a], &mp->dot1Q[b], (n-k)*4); data/mz-0.40/src/mops_ext.c:241:4: [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 tmp[10000]; // should be sufficient for all purposes here data/mz-0.40/src/mops_ext.c:369:4: [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 ((void*) tmp, (void*) dst, 6); data/mz-0.40/src/mops_ext.c:374:2: [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 ((void*) dst, (void*) tmp, 6); data/mz-0.40/src/mops_ext.c:401:4: [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 ((void*) tmp, (void*) dst, 4); data/mz-0.40/src/mops_ext.c:406:2: [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 ((void*) dst, (void*) tmp, 4); data/mz-0.40/src/mops_ext_arp.c:32:4: [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 tmac[6] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; data/mz-0.40/src/mops_ext_arp.c:43:4: [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 ((void*) pd->sender_mac, (void*) tx.eth_src, 6); data/mz-0.40/src/mops_ext_arp.c:44:4: [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 ((void*) pd->target_mac, (void*) tmac, 6); data/mz-0.40/src/mops_ext_arp.c:45:4: [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 ((void*) pd->sender_ip, (void*) &tx.ip_src, 4); data/mz-0.40/src/mops_ext_arp.c:46:4: [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 ((void*) pd->target_ip, (void*) &tx.ip_src, 4); data/mz-0.40/src/mops_ext_arp.c:148: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 tmac[6] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; data/mz-0.40/src/mops_ext_arp.c:203:2: [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 ((void*) pd->sender_mac, (void*) device_list[devind].mac_mops, 6); data/mz-0.40/src/mops_ext_arp.c:204:2: [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 ((void*) pd->target_mac, (void*) tmac, 6); data/mz-0.40/src/mops_ext_arp.c:205:2: [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 ((void*) pd->sender_ip, (void*) device_list[devind].ip_mops, 4); data/mz-0.40/src/mops_ext_bpdu.c:53:3: [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((void*) &pd->root_id[2], (void*) device_list[i].mac_mops, 6); data/mz-0.40/src/mops_ext_bpdu.c:54:3: [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((void*) &pd->bridge_id[2], (void*) device_list[i].mac_mops, 6); data/mz-0.40/src/mops_ext_bpdu.c:190:4: [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((void*) &rid[2], (void*) device_list[i].mac_mops, 6); data/mz-0.40/src/mops_ext_bpdu.c:201:4: [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((void*) &rid[2], (void*) device_list[i].mac_mops, 6); data/mz-0.40/src/mops_ext_bpdu.c:217:3: [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((void*) pd->root_id, (void*) rid, 8); data/mz-0.40/src/mops_ext_bpdu.c:219:3: [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((void*) pd->bridge_id, (void*) rid, 8); data/mz-0.40/src/mops_ext_lldp.c:48:2: [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((void*) pd->chassis_id, (void*) device_list[i].mac_mops, 6); data/mz-0.40/src/mops_ext_lldp.c:54:2: [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((void*) pd->port_id, (void*) mp->device, pd->port_id_len); data/mz-0.40/src/mops_ext_lldp.c:86:4: [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((void*) &mp->msg[mp->msg_s], data/mz-0.40/src/mops_ext_lldp.c:96:4: [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((void*) &mp->msg[mp->msg_s], data/mz-0.40/src/mops_ext_lldp.c:165:2: [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((void*) tlv, (void*) &tln, 2); data/mz-0.40/src/mops_ext_lldp.c:166:2: [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((void*) &tlv[2], (void*) value, len); data/mz-0.40/src/mops_ext_lldp.c:192:2: [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((void*) (pd->optional_tlvs + pd->optional_tlvs_s), (void*) tmp, l); data/mz-0.40/src/mops_ext_lldp.c:219:2: [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((void*) (tmp+1), (void*) cid, len); data/mz-0.40/src/mops_ext_lldp.c:231:2: [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((void*) (tmp+1), (void*) cid, len); data/mz-0.40/src/mops_ext_lldp.c:258:2: [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((void*) (tmp+1), (void*) pid, len); data/mz-0.40/src/mops_ext_lldp.c:269:2: [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((void*) (tmp+1), (void*) pid, len); data/mz-0.40/src/mops_ext_lldp.c:383:2: [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((void*) tlv, (void*) &tln, 2); data/mz-0.40/src/mops_ext_lldp.c:384:2: [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((void*) &tlv[2], (void*) value, len); data/mz-0.40/src/mops_ext_lldp.c:386:2: [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((void*) (pd->optional_tlvs + pd->optional_tlvs_s), (void*) tlv, len+2); data/mz-0.40/src/mops_ext_lldp.c:417:2: [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((void*) (tmp+4), (void*) inf, len); data/mz-0.40/src/mops_ext_rtp.c:238:3: [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((void*) &mp->frame[j], (void*) pd->payload, pd->payload_s); data/mz-0.40/src/mops_ip.c:112:4: [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 cs[4], ps[4], str[16]; data/mz-0.40/src/mops_mpls.c:120:4: [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(&mp->mpls[a], &mp->mpls[b], (k-j)*4); data/mz-0.40/src/mops_sequence.c:99: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 tmp[256], t[16]; data/mz-0.40/src/mops_sequence.c:121:3: [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(str, "(no sequences found)"); data/mz-0.40/src/mops_tcp.c:83:3: [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(str, "(no valid mops)\n"); data/mz-0.40/src/mops_tcp.c:148:2: [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((void*) mp->tcp_option, (void*) tcp_default_options, 20); data/mz-0.40/src/mops_threads.c:252: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 data/mz-0.40/src/mops_threads.c:369:4: [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((void*) original_msg, (void*) mp->msg, mp->msg_s); data/mz-0.40/src/mops_threads.c:371:4: [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((void*) ip_payload, (void*) &mp->frame[begin_ip_payload], ip_payload_s); data/mz-0.40/src/mops_threads.c:410: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((void*) mp->msg, (void*) ip_payload+fragptr, fragsize); data/mz-0.40/src/mops_threads.c:424:4: [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((void*) mp->msg, (void*) ip_payload+fragptr, ip_payload_s-fragptr); data/mz-0.40/src/mops_threads.c:439:4: [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((void*) mp->msg, (void*) original_msg, original_msg_s); data/mz-0.40/src/mops_tools.c:128:4: [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((void *) &mp->msg[mp->msg_s], (void *) str, len); data/mz-0.40/src/mops_tools.c:231:3: [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(str, "(none)"); data/mz-0.40/src/mops_tools.c:242:3: [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(str, "%u days %02u:%02u:%02u", d, h, m, s); data/mz-0.40/src/mops_tools.c:247:3: [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(str, "%02u:%02u:%02u", h, m, s); // ignore nanoseconds if delay is in order of hours data/mz-0.40/src/mops_tools.c:251:3: [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(str, "%u msec", (unsigned int) t->tv_nsec/1000000); data/mz-0.40/src/mops_tools.c:253:3: [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(str, "%u usec", (unsigned int) t->tv_nsec/1000); data/mz-0.40/src/mops_tools.c:255:10: [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(str, "%lu nsec", t->tv_nsec); data/mz-0.40/src/mops_update.c:339:4: [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(&ip_pseudo_header[0], &mp->frame[mp->begin_IP+12], 4); // copy SA to pseudoheader data/mz-0.40/src/mops_update.c:340:4: [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(&ip_pseudo_header[4], &mp->frame[mp->begin_IP+16], 4); // copy DA to pseudoheader data/mz-0.40/src/mops_update.c:343:4: [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(&ip_pseudo_header[10], &mp->frame[fp+4], 2); // copy UDP length to pseudoheader data/mz-0.40/src/mops_update.c:356: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(&mp->frame[mp->frame_s+1], ip_pseudo_header, 12); data/mz-0.40/src/mops_update.c:359: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(&mp->frame[mp->frame_s], ip_pseudo_header, 12); data/mz-0.40/src/mops_update.c:390:4: [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(&ip_pseudo_header[0], &mp->frame[mp->begin_IP+12], 4); // copy SA to pseudoheader data/mz-0.40/src/mops_update.c:391:4: [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(&ip_pseudo_header[4], &mp->frame[mp->begin_IP+16], 4); // copy DA to pseudoheader data/mz-0.40/src/mops_update.c:396:4: [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(&ip_pseudo_header[10], &t16, 2); // copy TCP length to pseudoheader data/mz-0.40/src/mops_update.c:408: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(&mp->frame[mp->frame_s+1], ip_pseudo_header, 12); data/mz-0.40/src/mops_update.c:411: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(&mp->frame[mp->frame_s], ip_pseudo_header, 12); data/mz-0.40/src/mopsrx_arp.c:61: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/mz-0.40/src/mopsrx_arp.c:147:2: [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((void*) da, (void*) ethernet->eth_da, 6); data/mz-0.40/src/mopsrx_arp.c:148:2: [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((void*) sa, (void*) ethernet->eth_sa, 6); data/mz-0.40/src/mopsrx_arp.c:149:2: [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((void*) smac, (void*) arp->arp_smac, 6); data/mz-0.40/src/mopsrx_arp.c:150:2: [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((void*) sip, (void*) arp->arp_sip, 4); data/mz-0.40/src/mopsrx_arp.c:151:2: [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((void*) tmac, (void*) arp->arp_tmac, 6); data/mz-0.40/src/mopsrx_arp.c:152:2: [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((void*) tip, (void*) arp->arp_tip, 4); data/mz-0.40/src/mopsrx_arp.c:223:6: [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((void*) cur->smac_prev, (void*) cur->smac, 6); data/mz-0.40/src/mopsrx_arp.c:224:6: [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((void*) cur->smac, (void*) smac, 6); data/mz-0.40/src/mopsrx_arp.c:248:2: [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((void*) cur->sa, (void*) sa, 6); data/mz-0.40/src/mopsrx_arp.c:249:2: [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((void*) cur->smac, (void*) smac, 6); data/mz-0.40/src/mopsrx_arp.c:256:2: [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((void*) cur->sip, (void*) sip, 4); data/mz-0.40/src/mz.h:91: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 mz_default_config_path[256]; data/mz-0.40/src/mz.h:92: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 mz_default_log_path[256]; data/mz-0.40/src/mz.h:109: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 when[10]; // human readable timestamp (e. g. "11:42:53") data/mz-0.40/src/mz.h:119: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 dev[16]; // Device name data/mz-0.40/src/mz.h:129: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 ip_str[IPADDRSIZE+1]; // Real IP address as string in dotted decimal notation data/mz-0.40/src/mz.h:258: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 path[256]; data/mz-0.40/src/mz.h:259: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 filename[256]; data/mz-0.40/src/mz.h:309: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 rtp_filter_str[64]; data/mz-0.40/src/mz.h:314:4: [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 device[16]; // every packet could be sent through a different device data/mz-0.40/src/mz.h:318:4: [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 arg_string[MAX_PAYLOAD_SIZE]; // Argument-string when -t is used data/mz-0.40/src/mz.h:323:4: [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 eth_dst_txt[32]; // Text version of eth_dst (or keyword such as 'rand') data/mz-0.40/src/mz.h:326:4: [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 eth_src_txt[32]; // Text version of eth_src (or keyword such as 'rand') data/mz-0.40/src/mz.h:349:4: [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 dot1Q_txt[32]; // contains 802.1p(CoS) and VLAN-ID ("5:130" or only VLAN "130") data/mz-0.40/src/mz.h:365:4: [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 mpls_txt[128]; // contains MPLS parameters (label, exp, S, TTL) data/mz-0.40/src/mz.h:366:4: [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 mpls_verbose_string[1024]; // contains all labels for print_frame_details() data/mz-0.40/src/mz.h:375:4: [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 ip_src_txt[256]; data/mz-0.40/src/mz.h:382:4: [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 ip_dst_txt[256]; data/mz-0.40/src/mz.h:404:4: [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 data/mz-0.40/src/parse_xml.c:153: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 p_clone[AUTOMOPS_MAX_FILE_SIZE+1]; data/mz-0.40/src/parse_xml.c:281:3: [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(t, "%4i - closing bracket missing", i); data/mz-0.40/src/parse_xml.c:287:2: [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((void*) t, (void*) &p[j], k-j); data/mz-0.40/src/parse_xml.c:323:2: [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((void*) t, (void*) &p[0], i); data/mz-0.40/src/parse_xml.c:341: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 t[XML_STRLEN]; data/mz-0.40/src/parse_xml.c:342: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 d[1500]; data/mz-0.40/src/parse_xml.c:447: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 t[XML_STRLEN]; data/mz-0.40/src/parse_xml.c:448: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 d[1500], errmsg[64]; data/mz-0.40/src/rcv_rtp.c:45: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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/rcv_rtp.c:46: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 dummy[512]; data/mz-0.40/src/rcv_rtp.c:212:3: [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(rtp_filter_str, "udp dst port %u", (unsigned int) port); data/mz-0.40/src/rcv_rtp.c:227:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (dummy, "w+"); data/mz-0.40/src/rcv_rtp.c:255:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp2 = fopen (dummy, "w+"); data/mz-0.40/src/rcv_rtp.c:286:4: [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/mz-0.40/src/rcv_rtp.c:401: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 dummy[256]; data/mz-0.40/src/rcv_rtp.c:402: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 ts_hms[10]; data/mz-0.40/src/rcv_rtp.c:616:18: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( (fp2 = fopen (dummy, "w+")) == NULL) { data/mz-0.40/src/rcv_rtp.c:646: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 str[128], bar[150], data/mz-0.40/src/rcv_rtp.c:739:3: [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(str1,"%4.2f", (double) min/1000); data/mz-0.40/src/rcv_rtp.c:740:3: [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(str2,"%4.2f", (double) (min+tmp)/1000); data/mz-0.40/src/rcv_rtp.c:741:3: [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(str3,"%4.2f", (double) (max-tmp)/1000); data/mz-0.40/src/rcv_rtp.c:742:3: [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(str4,"%4.2f", (double) max/1000); data/mz-0.40/src/rtp.c:67: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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/send_eth.c:37:4: [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[LIBNET_ERRBUF_SIZE]; data/mz-0.40/src/send_eth.c:39:4: [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 argval[128]; data/mz-0.40/src/send_eth.c:45:4: [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 *f, mtag[64]; data/mz-0.40/src/send_eth.c:46:4: [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 verbose_mpls_string[128]; data/mz-0.40/src/send_eth.c:51:4: [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 *saveptr, *ptrsubstring, substring[16], tmp[4*MAX_8021Q_TAGS]; data/mz-0.40/src/send_eth.c:122:5: [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(verbose_mpls_string,"[%u:%u:%u:%u]", data/mz-0.40/src/syslog.c:77: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 lt[8], host[314]; data/mz-0.40/src/syslog.c:78: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 *Months[12] = data/mz-0.40/src/syslog.c:84: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 argval[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/syslog.c:192:2: [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(host, "MZ42"); data/mz-0.40/src/syslog.c:226:2: [2] (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 string. strcat((char *)tx.udp_payload, "%MZSYS-42-CRN: Main reactor exceeded critical temperature!"); data/mz-0.40/src/time.c:152:4: [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 curtime_str[32]; data/mz-0.40/src/time.c:157:4: [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(curtime_str, "%4i%02i%02i-%02i%02i%02i", data/mz-0.40/src/time.c:193:4: [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 curtime_str[32]; data/mz-0.40/src/time.c:198:4: [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(curtime_str, "%02i:%02i:%02i", data/mz-0.40/src/tools.c:70:4: [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 tmp[MAX_PAYLOAD_SIZE]; data/mz-0.40/src/tools.c:683:4: [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 params[256]; data/mz-0.40/src/tools.c:944: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 tmp[32]; data/mz-0.40/src/tools.c:983: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 tmp[32]; data/mz-0.40/src/tools.c:1126: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 usr[80], str[80]; data/mz-0.40/src/tools.c:1190: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 str2[4096], delim2[4]="", delim3[4]="";; data/mz-0.40/src/automops.c:286:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(new_automops->name, amp->name, AUTOMOPS_MAX_NAME_LEN); data/mz-0.40/src/automops.c:287:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(new_automops->desc, amp->desc, AUTOMOPS_MAX_SHORTDESC_LEN); data/mz-0.40/src/automops.c:342:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(h->longdesc, f->longdesc, 1600); data/mz-0.40/src/automops.c:441:6: [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(d)>50) return -1; // TODO: replace 100 to a more reasonable value data/mz-0.40/src/automops.c:991:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c=fgetc(fd)) != EOF) { data/mz-0.40/src/cdp.c:312:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char*) tx.cdp_tlv_id, argval,2048); data/mz-0.40/src/cdp.c:313: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). tx.cdp_tlv_id_len = strlen ((char*)tx.cdp_tlv_id); data/mz-0.40/src/cdp.c:378:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv_len = create_tlv (3, (u_int8_t*) argval, strlen(argval), tlv); data/mz-0.40/src/cdp.c:388:6: [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(argval)>2) data/mz-0.40/src/cdp.c:417:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv_len = create_tlv (5, (u_int8_t*) argval, strlen(argval), tlv); data/mz-0.40/src/cdp.c:428:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv_len = create_tlv (6, (u_int8_t*) argval, strlen(argval), tlv); data/mz-0.40/src/cdp.c:438:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tlv_len = create_tlv (9, (u_int8_t*) argval, strlen(argval), tlv); data/mz-0.40/src/cdp.c:532: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). len1 = strlen((const char*) value1); data/mz-0.40/src/cli.c:61:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(filename, str, 255); data/mz-0.40/src/cli_cmds.c:229:26: [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. if (mp->use_ETHER) strcat(ds,"E"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:229:47: [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. if (mp->use_ETHER) strcat(ds,"E"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:230:25: [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. if (mp->use_SNAP) strcat(ds,"S"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:230:46: [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. if (mp->use_SNAP) strcat(ds,"S"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:231:26: [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. if (mp->use_dot1Q) strcat(ds,"Q"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:231:47: [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. if (mp->use_dot1Q) strcat(ds,"Q"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:232:25: [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. if (mp->use_MPLS) strcat(ds,"M"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:232:46: [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. if (mp->use_MPLS) strcat(ds,"M"); else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:235: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(ds,"i"); data/mz-0.40/src/cli_cmds.c:237: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(ds,"I"); data/mz-0.40/src/cli_cmds.c:238:14: [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. } else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:241: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(ds,"U"); data/mz-0.40/src/cli_cmds.c:243:23: [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. (mp->use_TCP) strcat(ds,"T"); data/mz-0.40/src/cli_cmds.c:244:12: [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. else strcat(ds,"-"); data/mz-0.40/src/cli_cmds.c:251: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(pr, "ARP", 8); data/mz-0.40/src/cli_cmds.c:254: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(pr, "BPDU", 8); data/mz-0.40/src/cli_cmds.c:257: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(pr, "CDP", 8); data/mz-0.40/src/cli_cmds.c:260: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(pr, "DNS", 8); data/mz-0.40/src/cli_cmds.c:263: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(pr, "ICMP", 8); data/mz-0.40/src/cli_cmds.c:266: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(pr, "IGMP", 8); data/mz-0.40/src/cli_cmds.c:269: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(pr, "LLDP", 8); data/mz-0.40/src/cli_cmds.c:272: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(pr, "RTP", 8); data/mz-0.40/src/cli_cmds.c:275: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(pr, "SYSLOG", 8); data/mz-0.40/src/cli_cmds.c:308:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant string. strncat(ps, "-i", 2); data/mz-0.40/src/cli_cmds.c:312:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant string. strncat(ps, "+I", 2); data/mz-0.40/src/cli_cmds.c:319:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (name, mp->packet_name, 13); // only show first 13 chars data/mz-0.40/src/cli_cmds.c:460:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(line, ds, 14); data/mz-0.40/src/cli_cmds.c:488:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(line, ds, 20); data/mz-0.40/src/cli_ip.c:108:11: [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(argv[1])<4) // probably prefix? data/mz-0.40/src/cli_ip.c:192:11: [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(argv[1])<4) // probably prefix? data/mz-0.40/src/cli_ip.c:501:6: [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(tmp)!=2) data/mz-0.40/src/cli_launch.c:49:2: [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 (clipkt->packet_name, "sysBPDU", 7); data/mz-0.40/src/cli_launch.c:114:2: [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 (clipkt->packet_name, "sysFlood_TCPSYN", 15); data/mz-0.40/src/cli_legacy.c:36: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). if ((strlen(argv[i])+strlen(argstr))>10000) data/mz-0.40/src/cli_legacy.c:36:28: [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(argv[i])+strlen(argstr))>10000) data/mz-0.40/src/cli_legacy.c:46:9: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(argstr, argv[i], 5000); // TODO: This is ugly! data/mz-0.40/src/cli_legacy.c:103:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.arg_string, argstr, MAX_PAYLOAD_SIZE); data/mz-0.40/src/cli_legacy.c:136:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.arg_string, argstr, MAX_PAYLOAD_SIZE); data/mz-0.40/src/cli_packet.c:333: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(argv[0])>MAX_MOPS_PACKET_NAME_LEN) data/mz-0.40/src/cli_packet.c:345:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(clipkt->packet_name, argv[0], MAX_MOPS_PACKET_NAME_LEN); data/mz-0.40/src/cli_packet.c:464:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(clipkt->device, argv[0], 16); // assign device to this mops data/mz-0.40/src/cli_packet.c:939: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). len = strlen(str); data/mz-0.40/src/cli_packet.c:1011: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). len = strlen(str); data/mz-0.40/src/cli_sequence.c:246:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (name, seq->packet[i]->packet_name, 13); // only show first 13 chars data/mz-0.40/src/cli_set.c:63:11: [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(argv[1])) data/mz-0.40/src/cli_set.c:76:10: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.device, argv[1], 16); data/mz-0.40/src/cli_set.c:97:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.eth_src_txt, argv[1], 32); data/mz-0.40/src/cli_set.c:121:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.eth_dst_txt, argv[1], 32); data/mz-0.40/src/cli_set.c:262:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)tx.ascii_payload, argv[1], MAX_PAYLOAD_SIZE); data/mz-0.40/src/cli_set.c:295:11: [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(argv[1])) // TODO: Better verification of 802.1Q syntax data/mz-0.40/src/cli_set.c:297:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.mpls_txt, argv[1], 128); data/mz-0.40/src/cli_set.c:314:11: [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(argv[1])) // TODO: Better verification of 802.1Q syntax data/mz-0.40/src/cli_set.c:316:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tx.dot1Q_txt, argv[1], 32); data/mz-0.40/src/dns.c:555: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). cnt = strlen(token); data/mz-0.40/src/dns.c:634: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). cnt = strlen(token); data/mz-0.40/src/dns.c:689:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (argval); data/mz-0.40/src/dns.c:701:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field1, field, 512); data/mz-0.40/src/dns.c:705:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field2, field, 512); data/mz-0.40/src/dns.c:709:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field3, field, 512); data/mz-0.40/src/dns.c:720:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field3, field1, 512); data/mz-0.40/src/dns.c:721:2: [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(field1, "A"); data/mz-0.40/src/dns.c:722:2: [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(field2, "0"); data/mz-0.40/src/dns.c:725:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field3, field2, 512); data/mz-0.40/src/dns.c:726:2: [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(field2, "0"); data/mz-0.40/src/hextools.c:92:6: [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(str)==0) return 0; data/mz-0.40/src/hextools.c:96:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp,str,8191); // necessary because strtok cannot operate on fixed strings data/mz-0.40/src/hextools.c:126: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(str)==0) return 0; data/mz-0.40/src/hextools.c:130:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp,str,8192); // necessary because strtok cannot operate on fixed strings data/mz-0.40/src/hextools.c:169: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). str[strlen(str)-1]='\0'; //remove the last ":" data/mz-0.40/src/hextools.c:210:6: [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(str)<3) return 0; data/mz-0.40/src/hextools.c:245:6: [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(str)<3) return 0; data/mz-0.40/src/hextools.c:282:6: [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). i=strlen(hex); data/mz-0.40/src/init.c:236:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.eth_src_txt, optarg, 32); data/mz-0.40/src/init.c:240:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.ip_src_txt, optarg, 32); data/mz-0.40/src/init.c:243:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.eth_dst_txt, optarg, 32); data/mz-0.40/src/init.c:247:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.ip_dst_txt, optarg, 32); data/mz-0.40/src/init.c:308:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.mpls_txt, optarg, 128); data/mz-0.40/src/init.c:315:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char*)tx.ascii_payload, optarg, MAX_PAYLOAD_SIZE); data/mz-0.40/src/init.c:328:23: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ( (hexpld[i]=fgetc(afp))!=EOF ) { data/mz-0.40/src/init.c:343:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.dot1Q_txt, optarg, 32); data/mz-0.40/src/init.c:346: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). for (i=0; i<strlen(tx.dot1Q_txt); i++) { data/mz-0.40/src/init.c:408:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.device, argv[optind], 16); data/mz-0.40/src/init.c:411:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.arg_string, argv[optind], MAX_PAYLOAD_SIZE); data/mz-0.40/src/init.c:421:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.device, argv[optind], 16); data/mz-0.40/src/init.c:422:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.arg_string, argv[optind+1], MAX_PAYLOAD_SIZE); data/mz-0.40/src/init.c:460:7: [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(tx.ip_src_txt)) { // option -A has been specified data/mz-0.40/src/init.c:477:7: [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(tx.ip_dst_txt)) { // option -B has been specified data/mz-0.40/src/init.c:546:7: [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(tx.arg_string)) { data/mz-0.40/src/layer1.c:106:10: [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). src = strlen(tx.eth_src_txt); data/mz-0.40/src/layer1.c:107:10: [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). dst = strlen(tx.eth_dst_txt); data/mz-0.40/src/layer2.c:175:10: [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). src = strlen(tx.eth_src_txt); data/mz-0.40/src/layer2.c:176:10: [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). dst = strlen(tx.eth_dst_txt); data/mz-0.40/src/layer3.c:262:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)tx.ip_payload, (char *)tx.ascii_payload, MAX_PAYLOAD_SIZE); data/mz-0.40/src/layer3.c:263: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). tx.ip_payload_s = strlen((char *)tx.ascii_payload); data/mz-0.40/src/layer3.c:295: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). len = strlen(argval); data/mz-0.40/src/layer4.c:207:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)tx.udp_payload, (char *)tx.ascii_payload, MAX_PAYLOAD_SIZE); data/mz-0.40/src/layer4.c:208:21: [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). tx.udp_payload_s = strlen((char *)tx.ascii_payload); data/mz-0.40/src/layer4.c:424:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)tx.icmp_payload, (char *)tx.ascii_payload, MAX_PAYLOAD_SIZE); data/mz-0.40/src/layer4.c:425: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). tx.icmp_payload_s = strlen((char *)tx.ascii_payload); data/mz-0.40/src/layer4.c:660:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)tx.tcp_payload, (char *)tx.ascii_payload, MAX_PAYLOAD_SIZE); data/mz-0.40/src/layer4.c:661:21: [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). tx.tcp_payload_s = strlen((char *)tx.ascii_payload); data/mz-0.40/src/lookupdev.c:91:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(device_list[i].dev, index->name, 9); data/mz-0.40/src/lookupdev.c:92:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(device_list[i].ip_str, ipaddress, IPADDRSIZE); data/mz-0.40/src/lookupdev.c:105:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(device_list[i].dev, index->name, 9); data/mz-0.40/src/lookupdev.c:106:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(device_list[i].ip_str, ipaddress, IPADDRSIZE); data/mz-0.40/src/lookupdev.c:146:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (tx.device, device_list[0].dev, 16); data/mz-0.40/src/lookupdev.c:169:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(ifr.ifr_name, ifname , IFNAMSIZ-1); data/mz-0.40/src/lookupdev.c:291:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(si.ifr_name, name, IFNAMSIZ); data/mz-0.40/src/lookupdev.c:321:2: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(200); // this is a VERY short delay but it usually works in today's LANs data/mz-0.40/src/mops.c:68:2: [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(new_mops->packet_name, "-------", 8); data/mz-0.40/src/mops.c:118:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(new_mops->packet_name, pname, MAX_MOPS_PACKET_NAME_LEN); data/mz-0.40/src/mops.c:219:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(cur->packet_name, pname, MAX_MOPS_PACKET_NAME_LEN); data/mz-0.40/src/mops.c:258:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str, output, 99); data/mz-0.40/src/mops.c:399:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (mp->device, tx.device, 16); data/mz-0.40/src/mops.c:536:5: [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(hex, " "); // insert space after each 8 bytes data/mz-0.40/src/mops.c:537: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). hex[strlen(hex)-2]=' '; data/mz-0.40/src/mops.c:551: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). hex[strlen(hex)-1]=' '; data/mz-0.40/src/mops.c:715:21: [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. if (mp->use_ETHER) strcat(ds,"E"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:715:42: [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. if (mp->use_ETHER) strcat(ds,"E"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:716:20: [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. if (mp->use_SNAP) strcat(ds,"S"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:716:41: [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. if (mp->use_SNAP) strcat(ds,"S"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:717:21: [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. if (mp->use_dot1Q) strcat(ds,"Q"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:717:42: [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. if (mp->use_dot1Q) strcat(ds,"Q"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:718:20: [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. if (mp->use_MPLS) strcat(ds,"M"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:718:41: [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. if (mp->use_MPLS) strcat(ds,"M"); else strcat(ds,"-"); data/mz-0.40/src/mops.c:721:4: [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(ds,"i"); data/mz-0.40/src/mops.c:723:4: [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(ds,"I"); data/mz-0.40/src/mops.c:724: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. } else strcat(ds,"-"); data/mz-0.40/src/mops.c:727:3: [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(ds,"U"); data/mz-0.40/src/mops.c:729: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. (mp->use_TCP) strcat(ds,"T"); data/mz-0.40/src/mops.c:730:7: [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. else strcat(ds,"-"); data/mz-0.40/src/mops.c:734:3: [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(pr, "ARP", 8); data/mz-0.40/src/mops.c:737:3: [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(pr, "BPDU", 8); data/mz-0.40/src/mops.c:740:3: [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(pr, "CDP", 8); data/mz-0.40/src/mops.c:743:3: [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(pr, "DNS", 8); data/mz-0.40/src/mops.c:746:3: [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(pr, "ICMP", 8); data/mz-0.40/src/mops.c:749:3: [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(pr, "IGMP", 8); data/mz-0.40/src/mops.c:752:3: [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(pr, "LLDP", 8); data/mz-0.40/src/mops.c:755:3: [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(pr, "RTP", 8); data/mz-0.40/src/mops.c:758:3: [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(pr, "SYSLOG", 8); data/mz-0.40/src/mops.c:764:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(layers, ds, 16); data/mz-0.40/src/mops.c:765:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(proto, pr, 16); data/mz-0.40/src/mops_ext.c:248: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 ((1+strlen(argv[i]))>(10000-strlen(tmp))) // The '1+' counts for the additional space data/mz-0.40/src/mops_ext.c:248: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). if ((1+strlen(argv[i]))>(10000-strlen(tmp))) // The '1+' counts for the additional space data/mz-0.40/src/mops_ext.c:252:7: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(tmp, argv[i], 80); // Enforcing a maximum word length data/mz-0.40/src/mops_ext.c:253:7: [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(tmp, " "); // We get only the tokens, not the spaces inbetween data/mz-0.40/src/mops_ext.c:257:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dst, tmp, max); data/mz-0.40/src/mops_ext.c:258: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(tmp)>max) return MOPS_PDESC_OVERFLOW; data/mz-0.40/src/mops_ext.c:390:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(usr); data/mz-0.40/src/mops_ext_arp.c:184:4: [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 (mp->packet_name, "sysARP_service", 15); data/mz-0.40/src/mops_ext_arp.c:221:2: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(100000); // wait 100 ms data/mz-0.40/src/mops_ip.c:115: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(argv)==0) return -1; data/mz-0.40/src/mops_ip.c:116:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str,argv,15); data/mz-0.40/src/mops_ip.c:120:6: [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(str)!=4) return 1; // ERROR: Invalid AF codepoint data/mz-0.40/src/mops_ip.c:135:6: [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(str)!=2) return 2; // ERROR: Invalid Code Selector data/mz-0.40/src/mops_ip.c:152: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). else if (strlen(str)==2) // decimal DSCP value data/mz-0.40/src/mops_sequence.c:65:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(cur->name, name, MZ_LL_NAME_LEN); data/mz-0.40/src/mops_sequence.c:133:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(tmp, t, 6); data/mz-0.40/src/mops_sequence.c:134:14: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant string. if (i<c-1) strncat(tmp,", ", 2); data/mz-0.40/src/mz.h:64:15: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. #define SLEEP usleep // The sleep function to use. Consider 'nanosleep' in future. data/mz-0.40/src/parse_xml.c:157:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(p_clone, p, AUTOMOPS_MAX_FILE_SIZE); data/mz-0.40/src/parse_xml.c:184:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(p_clone, p, AUTOMOPS_MAX_FILE_SIZE); data/mz-0.40/src/rcv_rtp.c:175:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(argval); data/mz-0.40/src/rcv_rtp.c:181:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant character. strncat(argval, "/",1); // ensure that all paths end with "/" data/mz-0.40/src/rcv_rtp.c:183:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(path, argval, 128); data/mz-0.40/src/rcv_rtp.c:203:2: [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 (rtp_filter_str, "udp dst port 30000", 64); data/mz-0.40/src/rcv_rtp.c:223:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dummy, path, 128); data/mz-0.40/src/rcv_rtp.c:224:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(dummy, filename, 64); data/mz-0.40/src/rcv_rtp.c:251:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dummy, path, 128); data/mz-0.40/src/rcv_rtp.c:252:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(dummy, filename, 64); data/mz-0.40/src/rcv_rtp.c:611:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dummy, path, 128); data/mz-0.40/src/rcv_rtp.c:612:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(dummy, filename, 64); data/mz-0.40/src/send_eth.c:71: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). mlen = strlen (tx.mpls_txt); data/mz-0.40/src/send_eth.c:85:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(mtag, f, 64); data/mz-0.40/src/send_eth.c:128:5: [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(tx.mpls_verbose_string, " "); data/mz-0.40/src/send_eth.c:195:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp,tx.dot1Q_txt,(4*MAX_8021Q_TAGS)); data/mz-0.40/src/send_eth.c:201:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(substring, ptrsubstring, 16); data/mz-0.40/src/send_eth.c:204: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). len = strlen(substring); data/mz-0.40/src/syslog.c:139:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(lt,argval,8); data/mz-0.40/src/syslog.c:188:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(host,argval,314); // 314 is just an arbitrary number ;-) data/mz-0.40/src/syslog.c:221:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat((char *)tx.udp_payload, (char *)tx.ascii_payload, 2048); data/mz-0.40/src/syslog.c:230: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). tx.udp_payload_s = strlen((char *)tx.udp_payload); data/mz-0.40/src/time.c:167:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(result, curtime_str, 32); data/mz-0.40/src/time.c:171:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(result, prefix, 32); data/mz-0.40/src/time.c:172:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(result, curtime_str, 32); data/mz-0.40/src/time.c:203:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(result, curtime_str, 9); data/mz-0.40/src/tools.c:75:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp,str,MAX_PAYLOAD_SIZE); // only operate on local strings data/mz-0.40/src/tools.c:688:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(params, p, 256); data/mz-0.40/src/tools.c:821:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len_str = strlen(str); data/mz-0.40/src/tools.c:822: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). len_ch = strlen(ch); data/mz-0.40/src/tools.c:845: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). len = strlen(str); data/mz-0.40/src/tools.c:923:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str, tmp, 15); data/mz-0.40/src/tools.c:951:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp, filename, 32); data/mz-0.40/src/tools.c:958:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant character. strncat(mz_default_config_path, "/",1); data/mz-0.40/src/tools.c:962:10: [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). lenp = strlen(MZ_DEFAULT_CONFIG_PATH); data/mz-0.40/src/tools.c:990:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp, filename, 32); data/mz-0.40/src/tools.c:996:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant character. strncat(mz_default_log_path, "/",1); data/mz-0.40/src/tools.c:1000:10: [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). lenp = strlen(MZ_DEFAULT_LOG_PATH); data/mz-0.40/src/tools.c:1025:8: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). tmp = strncpy(dest, src, n); data/mz-0.40/src/tools.c:1061: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). len = strlen(str); data/mz-0.40/src/tools.c:1085: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). len = strlen(str); data/mz-0.40/src/tools.c:1128:11: [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). usrlen = strlen(usr_orig); data/mz-0.40/src/tools.c:1129: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). max = strlen(str_orig); data/mz-0.40/src/tools.c:1131:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(usr, usr_orig, 80); data/mz-0.40/src/tools.c:1132:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str, str_orig, 80); data/mz-0.40/src/tools.c:1192:6: [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(delim)!=1) return -1; // delim must contain a single character! data/mz-0.40/src/tools.c:1193:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str2, str, 4095); // protect the original str from strtok => operate on a copy only data/mz-0.40/src/tools.c:1194: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). len = strlen(str2); data/mz-0.40/src/tools.c:1197:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(delim2, delim, 1); strncat(delim2, delim, 1); // create the double-delim data/mz-0.40/src/tools.c:1197:29: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncpy(delim2, delim, 1); strncat(delim2, delim, 1); // create the double-delim data/mz-0.40/src/tools.c:1198:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(delim3, delim2, 2); strncat(delim3, delim, 1); // create the double-delim data/mz-0.40/src/tools.c:1198:30: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncpy(delim3, delim2, 2); strncat(delim3, delim, 1); // create the double-delim data/mz-0.40/src/tools.c:1203:7: [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(d)>2) { // '::' is not at the end of str2 data/mz-0.40/src/tools.c:1207:11: [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). rlen = strlen(r); data/mz-0.40/src/tools.c:1241:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(arg, token, 64); data/mz-0.40/src/tools.c:1299: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). for (i=0; i<strlen(a); i++) { ANALYSIS SUMMARY: Hits = 652 Lines analyzed = 28020 in approximately 0.74 seconds (37973 lines/second) Physical Source Lines of Code (SLOC) = 17964 Hits@level = [0] 302 [1] 230 [2] 363 [3] 7 [4] 52 [5] 0 Hits@level+ = [0+] 954 [1+] 652 [2+] 422 [3+] 59 [4+] 52 [5+] 0 Hits/KSLOC@level+ = [0+] 53.1062 [1+] 36.2948 [2+] 23.4914 [3+] 3.28435 [4+] 2.89468 [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.