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/ipv6toolkit-2.0+ds.1/tools/addr6.c Examining data/ipv6toolkit-2.0+ds.1/tools/addr6.h Examining data/ipv6toolkit-2.0+ds.1/tools/flow6.c Examining data/ipv6toolkit-2.0+ds.1/tools/flow6.h Examining data/ipv6toolkit-2.0+ds.1/tools/frag6.c Examining data/ipv6toolkit-2.0+ds.1/tools/frag6.h Examining data/ipv6toolkit-2.0+ds.1/tools/icmp6.c Examining data/ipv6toolkit-2.0+ds.1/tools/icmp6.h Examining data/ipv6toolkit-2.0+ds.1/tools/ipv6toolkit.h Examining data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c Examining data/ipv6toolkit-2.0+ds.1/tools/jumbo6.h Examining data/ipv6toolkit-2.0+ds.1/tools/libipv6.h Examining data/ipv6toolkit-2.0+ds.1/tools/na6.c Examining data/ipv6toolkit-2.0+ds.1/tools/na6.h Examining data/ipv6toolkit-2.0+ds.1/tools/ni6.c Examining data/ipv6toolkit-2.0+ds.1/tools/ni6.h Examining data/ipv6toolkit-2.0+ds.1/tools/ns6.c Examining data/ipv6toolkit-2.0+ds.1/tools/ns6.h Examining data/ipv6toolkit-2.0+ds.1/tools/path6.c Examining data/ipv6toolkit-2.0+ds.1/tools/path6.h Examining data/ipv6toolkit-2.0+ds.1/tools/ra6.c Examining data/ipv6toolkit-2.0+ds.1/tools/ra6.h Examining data/ipv6toolkit-2.0+ds.1/tools/rd6.c Examining data/ipv6toolkit-2.0+ds.1/tools/rd6.h Examining data/ipv6toolkit-2.0+ds.1/tools/rs6.c Examining data/ipv6toolkit-2.0+ds.1/tools/rs6.h Examining data/ipv6toolkit-2.0+ds.1/tools/scan6.h Examining data/ipv6toolkit-2.0+ds.1/tools/tcp6.c Examining data/ipv6toolkit-2.0+ds.1/tools/tcp6.h Examining data/ipv6toolkit-2.0+ds.1/tools/udp6.c Examining data/ipv6toolkit-2.0+ds.1/tools/udp6.h Examining data/ipv6toolkit-2.0+ds.1/tools/scan6.c Examining data/ipv6toolkit-2.0+ds.1/tools/libipv6.c FINAL RESULTS: data/ipv6toolkit-2.0+ds.1/tools/path6.c:524:5: [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(optarg, "%lu%s", &rate, line); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1351:5: [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(optarg, "%lu%s", &rate, line); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:925:5: [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(optarg, "%lu%s", &rate, line); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:735:5: [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(optarg, "%lu%s", &rate, line); data/ipv6toolkit-2.0+ds.1/tools/addr6.c:115:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1 && r != '?') { data/ipv6toolkit-2.0+ds.1/tools/flow6.c:183:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:184:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:191:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/flow6.c:372:24: [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. tcpwin= ((uint16_t) random() + 1500) & (uint16_t)0x7f00; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:373:12: [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. tcpseq= random(); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:374:21: [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. baseport= 50000+ random()%10000; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:416:15: [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. addr_sig= random(); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:417:15: [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. addr_key= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:227:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:228:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:231:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/frag6.c:686:9: [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. id= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:704:9: [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. id= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:726:9: [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. id= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:749:9: [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. id= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:772:9: [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. id= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:941:14: [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. icmp6_sig= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:969:15: [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. addr_sig= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:970:15: [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. addr_key= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1214:6: [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. id=random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1291:15: [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. foffset= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1299:41: [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. if(send_fragment(&idata, fid_f?fid:random(), foffset, fsize_f?fsize:( ((MIN_FRAG_SIZE+(random()%400))>>3)<<3), \ data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1299:93: [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. if(send_fragment(&idata, fid_f?fid:random(), foffset, fsize_f?fsize:( ((MIN_FRAG_SIZE+(random()%400))>>3)<<3), \ data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1843:33: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2046:33: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2074:23: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2112:23: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2187:32: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2194:21: [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. *(uint32_t *)ptr= random(); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2214:17: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:245:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:247:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1038:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1063: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. ip6hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1086:12: [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. tcpack= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1089:12: [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. tcpseq= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1092:24: [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. tcpwin= ((uint16_t) random() + 1500) & (uint16_t)0x7f00; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1095:15: [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. peerportl= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1100:17: [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. targetportl= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1110:15: [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. peerportl= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1115:17: [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. targetportl= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1122:13: [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. icmp6id= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1125:14: [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. icmp6seq= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1141:14: [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. pointer= random()%40; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1632:23: [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. rhtcp->th_sum= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1649: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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1670:23: [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. rhudp->uh_sum= random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1686: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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1703:33: [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. rhicmp6->icmp6_data16[0]= random(); /* Identifier */ data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1704:33: [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. rhicmp6->icmp6_data16[1]= random(); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1707:31: [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. rhicmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1722: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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1769:20: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:178:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:181:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:512:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:868:32: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:873:22: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:935: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1773: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. ethaddr->a[i]= random(); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1793:26: [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. ipv6addr->s6_addr32[i]=random(); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2819:22: [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. rtm->rtm_seq= seq= random(); data/ipv6toolkit-2.0+ds.1/tools/na6.c:189:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/na6.c:837:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1427:21: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:238:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:239:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:252:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2002:29: [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. *ptr= (unsigned char) random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2030:29: [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. *ptr= (unsigned char) random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2057:29: [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. *ptr= (unsigned char) random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2077:27: [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. ni->icmp6_ni_nonce[i]= random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2202:27: [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. *ptr= (unsigned char) random(); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2253: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:152:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/ns6.c:509:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:861:21: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:199:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/path6.c:200:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/path6.c:203:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/path6.c:597:10: [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. tcpseq=random() & 0x7fffffff; data/ipv6toolkit-2.0+ds.1/tools/path6.c:601:21: [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. dstport= 60000 + random() % 5000; data/ipv6toolkit-2.0+ds.1/tools/path6.c:604:8: [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. spi= random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1685:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1691:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1727:42: [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. tcp->th_ack= htonl((tcpflags & TH_ACK)?random():0); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1730:23: [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. tcp->th_win= htons((random() + 1024) & 0x7f00); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1742:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1748:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1792:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1798:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1888: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:225:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:238:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1614:45: [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. prefixopt->nd_opt_pi_prefix.s6_addr32[i]=random(); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1656:44: [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. routeopt->nd_opt_ri_prefix.s6_addr32[i]=random(); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1707:45: [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. dnsopt->nd_opt_rdnss_addr[i].s6_addr[j]=random(); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1750: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:242:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1054:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1167:12: [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. tcpack= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1170:12: [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. tcpseq= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1173:24: [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. tcpwin= ((uint16_t) random() + 1500) & (uint16_t)0x7f00; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1176:14: [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. peerport= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1179:15: [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. redirport= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1187:14: [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. peerport= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1190:15: [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. redirport= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1195:13: [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. icmp6id= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1198:14: [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. icmp6seq= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1740:24: [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. rhtcp->th_sum = random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1752:29: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1765:23: [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. rhudp->uh_sum= random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1776:29: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1787:31: [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. rhicmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1788:34: [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. rhicmp6->icmp6_data16[0]= random(); /* Identifier */ data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1789:34: [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. rhicmp6->icmp6_data16[1]= random(); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1800:29: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1842:21: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:153:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/rs6.c:458:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:778:20: [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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:324:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:325:14: [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. hoplimit=64+random()%180; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:366:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4168:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4198:14: [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. *uint32 = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4210:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4264:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4270:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4416:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4422:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4472:25: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4478:34: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4623:25: [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. icmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4625:34: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4630:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4656:14: [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. *uint32 = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4662:25: [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. icmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4664:34: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4669:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4940:25: [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. icmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4942:34: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4947:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4974:14: [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. *uint32 = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4980:25: [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. icmp6->icmp6_cksum = random(); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4982:34: [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. icmp6->icmp6_data16[1]= htons(random()); /* Sequence Number */ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4987:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:262:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:996:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1114:12: [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. tcpack= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1117:12: [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. tcpseq= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1120:13: [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. srcport= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1123:13: [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. dstport= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1131:23: [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. tcpwin= ((uint16_t) random() + 1500) & (uint16_t)0x7f00; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1158:12: [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. addr_key= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1195:21: [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. srcport= 50000 + random() % 15000; /* We select ports from the "high ports" range */ data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1792:20: [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. tcp->th_seq= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1802:20: [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. tcp->th_seq= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2023:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2029:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2139:23: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2145:32: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2164:49: [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. ipv6->ip6_src.s6_addr32[2]= ntohl((uint32_t)random() <<16); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2167:49: [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. ipv6->ip6_src.s6_addr32[3]= ntohl((uint32_t)random() <<16); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2173:26: [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. ethernet->src.a[i]= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2178:19: [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. tcp->th_sport= random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2230: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2847:17: [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. tcb->snd_una= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:232:11: [3] (buffer) getopt_long: 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((r=getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { data/ipv6toolkit-2.0+ds.1/tools/udp6.c:806:2: [3] (random) srandom: 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. srandom(time(NULL)); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:921:13: [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. srcport= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:924:13: [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. dstport= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:951:12: [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. addr_key= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:967:21: [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. srcport= 50000 + random() % 15000; /* We select ports from the "high ports" range */ data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1547:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1553:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1613:24: [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. *(uint32_t *)ptr = random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1619:33: [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. *(uint8_t *) ptr= (uint8_t) random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1652:49: [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. ipv6->ip6_src.s6_addr32[2]= ntohl((uint32_t)random() <<16); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1655:49: [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. ipv6->ip6_src.s6_addr32[3]= ntohl((uint32_t)random() <<16); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1661:26: [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. ethernet->src.a[i]= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1666:19: [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. udp->uh_sport= random(); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1718: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. fh->ip6f_ident=random(); data/ipv6toolkit-2.0+ds.1/tools/addr6.c:54: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 line[MAX_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/addr6.c:65: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/addr6.c:164:27: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). acceptlen[naccept] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/addr6.c:198:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). blocklen[nblock] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/addr6.c:830: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 iidsubtypebuffer[9]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:90:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:93: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 iface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:116: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:117: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:124:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:125:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/flow6.c:217:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:252:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:292:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dstport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:98: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:99:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:124: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:125: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:138:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:139:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:156: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 block1[8]={'a', 'a', 'b', 'b', 'c', 'c', 'd', 'd'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:157: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 block2[8]={'b', 'b', 'a', 'a', 'c', 'c', 'd', 'd'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:158: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 block3[8]={'c', 'c', 'a', 'a', 'b', 'b', 'd', 'd'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:159: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 block4[8]={'d', 'd', 'a', 'a', 'b', 'b', 'c', 'c'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:160: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 block5[8]={'d', 'd', 'c', 'c', 'b', 'b', 'a', 'a'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:161: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 block6[8]={'c', 'c', 'd', 'd', 'b', 'b', 'a', 'a'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:162: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 block7[8]={'b', 'b', 'd', 'd', 'c', 'c', 'a', 'a'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:163: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 block8[8]={'a', 'a', 'd', 'd', 'c', 'c', 'b', 'b'}; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:183:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char test[5]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:256:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:291:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:301:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:345:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:389:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:447:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). fsize= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:518:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:536:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1848: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(ptr, block, FRAG_BLOCK_SIZE); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1855: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(ptr, block, FRAG_BLOCK_SIZE); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1875: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(ptr, block, FRAG_BLOCK_SIZE); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1950: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:1967: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2020: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2140:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char fragbuffer[FRAG_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2210: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:2241: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:94:10: [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. unsigned char rhbuff[100]; /* This one must be able to hold the IPv6 header and the upper layer header */ data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:118: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:119:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:141: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:142: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:149:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:150:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:157:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:278:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:316:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:326:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:370:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:414:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:454:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:497:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). redirpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:516:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6type= atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:520:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6code= atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:529:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6code= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:543:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6code= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:550:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6code= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:597:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhlength= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:607:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ip6hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:638:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). targetportl= atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:646:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). targetporth=atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:663:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). peerportl= atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:670:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). peerporth=atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:753:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpurg= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:758:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpwin= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:788:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:823:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:888:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:925:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:980:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1402: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1419: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1457: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1586: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(ptr, pkt_ipv6, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1633:8: [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(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1644:8: [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(ptr, rhbuff, MIN_IPV6_HLEN+MIN_TCP_HLEN); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1671:8: [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(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1682:8: [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(ptr, rhbuff, MIN_IPV6_HLEN+MIN_UDP_HLEN); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1708:8: [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(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1718:8: [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(ptr, rhbuff, MIN_IPV6_HLEN+MIN_ICMP6_HLEN); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1759: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1767: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:1791: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:84: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:85:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:112: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:113: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:122:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:123:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:130:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:211:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:246:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:256:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:300:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:344:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:384:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:413:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). icmp6psize= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:448:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:799: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:816: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:854: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:923: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:933: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:957: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:79:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_NLPAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:370: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(w, (ptr+1), *ptr); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:444: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(dst, label, llen); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:529:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:617: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(sllaopt->address, &(idata->ether.a), ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1057:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1134: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(sllaopt->address, &(idata->ether.a), ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1393: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((idata->ether).a, sockpptr->sll_addr, ETHER_ADDR_LEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1403: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((idata->ether).a, (sockpptr->sdl_data + sockpptr->sdl_nlen), ETHER_ADDR_LEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1584: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1585: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1742: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:1968:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char wbuffer[2500]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2008: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(tllaopt->address, idata->ether.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2411: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(s2, s, n * sizeof(uint32_t)); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2455:12: [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. unsigned char c[4]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2480:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2536: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(sllaopt->address, &(idata->ether.a), ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2572: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 reply[MAX_NLPAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2621: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(RTA_DATA(rtap), &(idata->dstaddr), sizeof(idata->dstaddr)); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2633: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(RTA_DATA(rtap), &(idata->srcaddr), sizeof(idata->srcaddr)); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2787: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 reply[MAX_RTPAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2922: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3007: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(&(cif->ether), sockpptr->sll_addr, ETHER_ADDR_LEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3017: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(&(cif->ether), (sockpptr->sdl_data + sockpptr->sdl_nlen), ETHER_ADDR_LEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3100: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3101: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3575: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/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4184: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4185: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4245:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4319: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(sllaopt->address, &(hsrcaddr->a), ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4570: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( &(target->ip6), &(( (struct sockaddr_in6 *)ptr->ai_addr)->sin6_addr), sizeof(struct in6_addr)); data/ipv6toolkit-2.0+ds.1/tools/libipv6.h:496: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 [NI_MAXHOST]; /* Name */ data/ipv6toolkit-2.0+ds.1/tools/libipv6.h:497: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 canonname [NI_MAXHOST]; /* Canonic name */ data/ipv6toolkit-2.0+ds.1/tools/libipv6.h:541: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 iface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.h:815: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 iface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/libipv6.h:872: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 nhiface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:65: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:67:10: [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. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:95: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:96: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:106:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:107:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:113:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/na6.c:218:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:253:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:258:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:274:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:318:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:362:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:432:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). targetpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:494:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:529:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:594:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:631:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:697:53: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocktargetlen[filters.nblocktarget] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:729:55: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.accepttargetlen[filters.naccepttarget] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/na6.c:748:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ntargets= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:758:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:772:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1166: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1183: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1221: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1249: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(tllaopt->address, linkaddr[0].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1355: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(tllaopt->address, ethernet->src.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1387: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(tllaopt->address, linkaddr[linkaddrs].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1417: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1425: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/na6.c:1449: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:94: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:95:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:96: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 domain[MAX_DOMAIN_LEN]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:119: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:120: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:133:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:134:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:140:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:277:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:313:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:323:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:367:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:411:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:451:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:529:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). fnamelen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:534:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). exceedp= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:539:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). slvariant=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:544:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). payloadsize= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:597:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). fnamedlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:602:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). exceedpd= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:607:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dlvariant=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:616:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). maxlabel= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:631:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). code= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:636:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). qtype= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:708:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:743:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:808:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:845:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:904:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:1733: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:1750: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:1788: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:1881: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(ptr, dlpointer, dlsize); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:1896: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(ptr, named, namedlen); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2111: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(ptr, name, namelen); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2216: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(ptr, slpointer, slsize); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2243: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2251: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:2275: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:59: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:61:10: [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. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:86: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 plinkaddr[ETHER_ADDR_PLEN], phsrcaddr[ETHER_ADDR_PLEN], phdstaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:87: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:95:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:96:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:102:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:176:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:211:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:216:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:233:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:278:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:322:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:393:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). targetpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:424:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:434:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ntargets= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:448:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:670: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:687: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:725: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:753: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(sllaopt->address, linkaddr[0].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:793: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(sllaopt->address, ethernet->src.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:822: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(sllaopt->address, linkaddr[linkaddrs].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:851: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:859: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:883: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/path6.c: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:93:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:118: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:119: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:127:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:128:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:134:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:156: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 line[LINE_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/path6.c:228:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/path6.c:268:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:312:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:356:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:396:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:458:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhbytes= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:463:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dstport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1574: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1591: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1629: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1878: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1886: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/path6.c:1910: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:68: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:71:10: [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. unsigned char buffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:72:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:98:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:99:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:140: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 plinkaddr[ETHER_ADDR_PLEN], phsrcaddr[ETHER_ADDR_PLEN], phdstaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:141: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pprefix[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:142: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 pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/ra6.c:264:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:299:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:304:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:320:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:365:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:409:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:467:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). curhop = abs(atoi(optarg)); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:487:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). preference= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:567:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). prefixlen[nprefixes] = atoi(preflen); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:665:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). routelen[nroutes] = atoi(preflen); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:680:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). routepref[nroutes]= atoi(rpref); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:735:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mtu[nmtu]= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:740:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfloodr= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:745:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfloodp= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:750:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:765:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfloodda = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:771:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nflooddoa=atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:807:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:842:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:907:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:944:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:995:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1369: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1386: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1425: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1456: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(sllaopt->address, linkaddr[0].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1546: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(sllaopt->address, ethernet->src.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1573: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(sllaopt->address, linkaddr[linkaddrs].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1740: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1748: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:1771: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:89:10: [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. unsigned char rhbuff[100]; /* This one must be able to hold the IPv6 header and the upper layer header */ data/ipv6toolkit-2.0+ds.1/tools/rd6.c:110: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:111:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:133: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:134: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:143:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:144:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:151:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/rd6.c:271:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:309:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:319:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:363:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:407:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:447:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:505:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). redirpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:532:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). targetpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:559:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhlength= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:569:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ip6hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:595:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). redirport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:600:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). peerport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:676:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpurg= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:681:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpwin= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:719:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:754:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:819:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:856:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:907:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nredirs= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:918:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ntargets= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:928:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:942:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1428: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1445: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1483: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1512: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(tllaopt->address, linkaddr[0].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1585: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(tllaopt->address, ethernet->src.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1635: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(tllaopt->address, linkaddr[linkaddrs].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1689: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(ptr, pkt_ipv6, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1743:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1747:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, MIN_IPV6_HLEN+MIN_TCP_HLEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1768:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1772:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, MIN_IPV6_HLEN+MIN_UDP_HLEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1792:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, rhbytes); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1796:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, rhbuff, MIN_IPV6_HLEN+MIN_ICMP6_HLEN); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1832: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1840: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:1864: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:64: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c:67:10: [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. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c: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 plinkaddr[ETHER_ADDR_PLEN], phsrcaddr[ETHER_ADDR_PLEN], phdstaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pprefix[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c:98:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c:99:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c:105:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/rs6.c:177:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:200:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:205:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:222:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:265:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:309:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:383:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:397:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:601: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:618: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:656: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:681: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(sllaopt->address, linkaddr[0].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:719: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(sllaopt->address, ethernet->src.a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:737: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(sllaopt->address, linkaddr[linkaddrs].a, ETH_ALEN); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:768: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:776: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:800: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:152: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:153:10: [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. unsigned char buffer[BUFFER_SIZE], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:154: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 line[LINE_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:176: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 plinkaddr[ETHER_ADDR_PLEN], pv4addr[INET_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:177: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:188:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:189:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:196:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:234: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 rangestart[MAX_RANGE_STR_LEN+1], rangeend[MAX_RANGE_STR_LEN+1]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:235: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 fname[MAX_FILENAME_SIZE], fname_f=FALSE, configfile[MAX_FILENAME_SIZE], knowniidsfile[MAX_FILENAME_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:236: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 portsfname[MAX_FILENAME_SIZE], portsfname_f=FALSE; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:237: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 knownprefixesfile[MAX_FILENAME_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:240: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 oui_ascii[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:241: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 vendor[MAX_IEEE_OUIS_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:263: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 date[DATE_STR_LEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:391:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:416:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). prefix.len = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:683:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). prefix.len = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:787:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:831:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:875:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:915:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:983:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhbytes= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:988:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). srcport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:993:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dstport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1077:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.local_retrans=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1081:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.local_timeout=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1119:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). portscanl= atoi(pref); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1120:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). portscanh= atoi(lasts); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1123:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). portscanl= atoi(lasts); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1316:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). v4host.len = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1341:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). inc = atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1371:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1421:21: [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( (knowniids_fp=fopen(knowniidsfile, "r")) == NULL){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1429:25: [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( (knownprefixes_fp=fopen(knownprefixesfile, "r")) == NULL){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:2717: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 portstring[10]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:2995: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[MAX_LINE_SIZE], *ptr, *charptr, *charstart, *charend, *lastcolon; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:2996: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 rangestart[MAX_RANGE_STR_LEN+1], rangeend[MAX_RANGE_STR_LEN+1]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3137:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). prefix.len = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3254: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[MAX_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3628: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 oui_ascii[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3631: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[MAX_IEEE_OUIS_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3638: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). if( (fp=fopen(fname, "r")) == NULL){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3685: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(oui_ascii, line, 8); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4529:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:4849:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[65556]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5530: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[MAX_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5534: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). if( (fp=fopen(path, "r")) == NULL){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5629: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[MAX_PORTS_LINE_SIZE], proto[MAX_PORTS_LINE_SIZE], name[MAX_PORTS_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5641: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). if( (fp=fopen(portsfname, "r")) == NULL){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5665:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). port= atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5760: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5777: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5815: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/scan6.h: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 name[MAX_PORTS_LINE_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:120: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:121:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_TCP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:124: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 data[DATA_BUFFER_LEN]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:126: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 iface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:127: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 line[LINE_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:153: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:154: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:160:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:161:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:168:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:292:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:330:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:404:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:448:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:492:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:532:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:561:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhbytes= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:566:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). srcport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:571:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dstport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:652:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpurg= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:657:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tcpwin= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:711:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:746:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:811:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:848:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:895:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:905:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nports= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:941:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:970:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). retrans= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1639: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1656: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:1694: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2052: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(ptr, data, datalen); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2220: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2228: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2252: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2568: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(q->in, data, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2579: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(q->in, data, (q->data + q->size - q->in)); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2584: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(q->in, data, nleft); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2594: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(q->in, data, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2631: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(data, q->out, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2643: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(data, q->out, (q->data + q->size - q->out)); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2649: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(data, q->out, nleft); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2661: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(data, q->out, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2703: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(data, org, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2709: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(data, org, (q->data + q->size - org)); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2715: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(data, org, nleft); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2725: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(data, org, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:2782: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(data, q->out, nbytes); data/ipv6toolkit-2.0+ds.1/tools/tcp6.h:58:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char data[TCP_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/tcp6.h:92:15: [2] (misc) open: 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). unsigned int open; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:103: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 dev[64], errbuf[PCAP_ERRBUF_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:104:10: [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. unsigned char buffer[65556], buffrh[MIN_IPV6_HLEN + MIN_UDP_HLEN]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:107: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 data[DATA_BUFFER_LEN]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:109: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 iface[IFACE_LENGTH]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:110: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 line[LINE_BUFFER_SIZE]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:136: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 plinkaddr[ETHER_ADDR_PLEN]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:137: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 psrcaddr[INET6_ADDRSTRLEN], pdstaddr[INET6_ADDRSTRLEN], pv6addr[INET6_ADDRSTRLEN]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:143:10: [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. unsigned char *dstopthdr[MAX_DST_OPT_HDR], *dstoptuhdr[MAX_DST_OPT_U_HDR]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:144:10: [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. unsigned char *hbhopthdr[MAX_HBH_OPT_HDR]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:151:10: [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. unsigned char fragbuffer[ETHER_HDR_LEN+MIN_IPV6_HLEN+MAX_IPV6_PAYLOAD]; data/ipv6toolkit-2.0+ds.1/tools/udp6.c:262:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). idata.srcpreflen = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:300:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hoplimit= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:320:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:364:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:408:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hdrlen= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:448:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nfrags= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:477:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rhbytes= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:482:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). srcport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:487:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dstport= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:513:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blocksrclen[filters.nblocksrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:548:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.blockdstlen[filters.nblockdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:613:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptsrclen[filters.nacceptsrc] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:650:49: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). filters.acceptdstlen[filters.nacceptdst] = atoi(charptr); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:697:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsources= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:707:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nports= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:751:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nsleep=atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:780:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). retrans= atoi(optarg); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1403: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(ptr, hbhopthdr[hbhopthdrs], hbhopthdrlen[hbhopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1420: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(ptr, dstoptuhdr[dstoptuhdrs], dstoptuhdrlen[dstoptuhdrs]); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1458: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(ptr, dstopthdr[dstopthdrs], dstopthdrlen[dstopthdrs]); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1567: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(ptr, data, datalen); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1633: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(ptr, data, datalen); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1708: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(fptr, buffer, fragpart-buffer); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1716: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(fptr, (char *) &fraghdr, FRAG_HDR_SIZE); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:1740: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(fptr, ptr, fragsize); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:197:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/flow6.c:231:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:236:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/frag6.c:270:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:253:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:295:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/icmp6.c:612:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:186:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/jumbo6.c:225:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2837:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if( (r=read(sockfd, rtm, MAX_RTPAYLOAD)) < 0){ data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:2994:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(cif->iface, ptr->ifa_name, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3446:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata->iface, cif->iface, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3520:8: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata->iface, idata->nhiface, IFACE_LENGTH); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3690:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata->iface, idata->nhiface, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:3789:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata->iface, rif->iface, IFACE_LENGTH); data/ipv6toolkit-2.0+ds.1/tools/libipv6.c:4551:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( target->canonname, res->ai_canonname, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/na6.c:194:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/na6.c:232:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:257:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:291:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:480:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:512: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). namelen= strlen(optarg) + 1; data/ipv6toolkit-2.0+ds.1/tools/ni6.c:549:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/ni6.c:581:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). namedlen= strlen(optarg) + 1; data/ipv6toolkit-2.0+ds.1/tools/ns6.c:157:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/ns6.c:190:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/path6.c:208:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/path6.c:242:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/path6.c:430:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(strncmp(optarg, "echo", strlen("echo")) == 0 || strncmp(optarg, "icmp", strlen("icmp")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/path6.c:430:80: [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(strncmp(optarg, "echo", strlen("echo")) == 0 || strncmp(optarg, "icmp", strlen("icmp")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/path6.c:434:36: [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(strncmp(optarg, "udp", strlen("udp")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/path6.c:438:36: [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(strncmp(optarg, "tcp", strlen("tcp")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/path6.c:442:36: [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(strncmp(optarg, "esp", strlen("ESP")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/path6.c:446:35: [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(strncmp(optarg, "ah", strlen("AH")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/ra6.c:244:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/ra6.c:278:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:247:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:288:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/rd6.c:574:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/rs6.c:158:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:371:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:412:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(target.name, charptr, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:953:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(strncmp(optarg, "echo", strlen("echo")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:958:38: [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(strncmp(optarg, "unrec", strlen("unrec")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:963:36: [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(strncmp(optarg, "all", strlen("all")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:971:36: [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(strncmp(optarg, "tcp", strlen("tcp")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1044: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(strncmp(optarg, "local", strlen("local")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1048:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if(strncmp(optarg, "global", strlen("global")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1052:36: [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(strncmp(optarg, "all", strlen("all")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1161:31: [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(strncmp(optarg, "syn", strlen("syn")) == 0 || strncmp(optarg, "SYN", strlen("SYN")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1161:77: [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(strncmp(optarg, "syn", strlen("syn")) == 0 || strncmp(optarg, "SYN", strlen("SYN")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1165:36: [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(strncmp(optarg, "fin", strlen("fin")) == 0 || strncmp(optarg, "FIN", strlen("FIN")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1165:82: [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(strncmp(optarg, "fin", strlen("fin")) == 0 || strncmp(optarg, "FIN", strlen("FIN")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1169:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if(strncmp(optarg, "null", strlen("null")) == 0 || strncmp(optarg, "NULL", strlen("NULL")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1169:85: [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(strncmp(optarg, "null", strlen("null")) == 0 || strncmp(optarg, "NULL", strlen("NULL")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1173:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if(strncmp(optarg, "xmas", strlen("xmas")) == 0 || strncmp(optarg, "XMAS", strlen("XMAS")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1173:85: [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(strncmp(optarg, "xmas", strlen("xmas")) == 0 || strncmp(optarg, "XMAS", strlen("XMAS")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1177:36: [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(strncmp(optarg, "ack", strlen("ack")) == 0 || strncmp(optarg, "ACK", strlen("ACK")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1177:82: [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(strncmp(optarg, "ack", strlen("ack")) == 0 || strncmp(optarg, "ACK", strlen("ACK")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1185:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(strncmp(optarg, "vbox", strlen("vbox")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1189:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if(strncmp(optarg, "vmware", strlen("vmware")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1193:40: [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(strncmp(optarg, "vmwarem", strlen("vmwarem")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1197:36: [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(strncmp(optarg, "all", strlen("all")) == 0){ data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1241:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(oui_ascii, optarg, 8); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1243: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(oui_ascii, oui_end, ETHER_ADDR_PLEN-Strnlen(oui_ascii, sizeof(oui_ascii))-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1259:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(vendor, optarg, MAX_IEEE_OUIS_LINE_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1266:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(knowniidsfile, optarg, MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1296:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(knownprefixesfile, optarg, MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1390:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(configfile, optarg, MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:1509: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(configfile, "/etc/ipv6toolkit.conf", MAX_FILENAME_SIZE); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:3694: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(oui_ascii, oui_end, ETHER_ADDR_PLEN-Strnlen(oui_ascii, sizeof(oui_ascii))-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5543:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(fname, value, MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5548:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(portsfname, value, MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5568: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(fname, "/usr/local/share/ipv6toolkit/oui.txt", MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5571: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(fname, "/usr/local/share/ipv6toolkit/service-names-port-numbers.csv", MAX_FILENAME_SIZE-1); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5637:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pentry[i].name, unassigned, sizeof(pentry[i].name)); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5658:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(name, charptr, sizeof(name)); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5674:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(proto, charptr, sizeof(proto)); data/ipv6toolkit-2.0+ds.1/tools/scan6.c:5678:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pentry[port].name, name, sizeof(pentry[port].name)); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:267:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:309:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/tcp6.c:394:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(data, optarg, DATA_BUFFER_LEN-1); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:237:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(idata.iface, optarg, IFACE_LENGTH-1); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:279:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( targetipv6.name, optarg, NI_MAXHOST); data/ipv6toolkit-2.0+ds.1/tools/udp6.c:310:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(data, optarg, DATA_BUFFER_LEN-1); ANALYSIS SUMMARY: Hits = 793 Lines analyzed = 37668 in approximately 1.05 seconds (35746 lines/second) Physical Source Lines of Code (SLOC) = 26846 Hits@level = [0] 784 [1] 85 [2] 520 [3] 184 [4] 4 [5] 0 Hits@level+ = [0+] 1577 [1+] 793 [2+] 708 [3+] 188 [4+] 4 [5+] 0 Hits/KSLOC@level+ = [0+] 58.7425 [1+] 29.5389 [2+] 26.3726 [3+] 7.00291 [4+] 0.148998 [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.