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/jool-4.1.4/src/usr/iptables/libxt_JOOL_SIIT.c
Examining data/jool-4.1.4/src/usr/iptables/common.c
Examining data/jool-4.1.4/src/usr/iptables/libxt_JOOL.c
Examining data/jool-4.1.4/src/usr/nat64/main-nat64.c
Examining data/jool-4.1.4/src/usr/nl/denylist4.h
Examining data/jool-4.1.4/src/usr/nl/instance.h
Examining data/jool-4.1.4/src/usr/nl/attribute.c
Examining data/jool-4.1.4/src/usr/nl/address.h
Examining data/jool-4.1.4/src/usr/nl/bib.c
Examining data/jool-4.1.4/src/usr/nl/global.c
Examining data/jool-4.1.4/src/usr/nl/bib.h
Examining data/jool-4.1.4/src/usr/nl/global.h
Examining data/jool-4.1.4/src/usr/nl/pool4.h
Examining data/jool-4.1.4/src/usr/nl/file.h
Examining data/jool-4.1.4/src/usr/nl/eamt.c
Examining data/jool-4.1.4/src/usr/nl/session.c
Examining data/jool-4.1.4/src/usr/nl/pool4.c
Examining data/jool-4.1.4/src/usr/nl/stats.h
Examining data/jool-4.1.4/src/usr/nl/attribute.h
Examining data/jool-4.1.4/src/usr/nl/eamt.h
Examining data/jool-4.1.4/src/usr/nl/session.h
Examining data/jool-4.1.4/src/usr/nl/stats.c
Examining data/jool-4.1.4/src/usr/nl/json.h
Examining data/jool-4.1.4/src/usr/nl/core.c
Examining data/jool-4.1.4/src/usr/nl/instance.c
Examining data/jool-4.1.4/src/usr/nl/joold.h
Examining data/jool-4.1.4/src/usr/nl/wrapper-config.c
Examining data/jool-4.1.4/src/usr/nl/wrapper-global.c
Examining data/jool-4.1.4/src/usr/nl/joold.c
Examining data/jool-4.1.4/src/usr/nl/address.c
Examining data/jool-4.1.4/src/usr/nl/denylist4.c
Examining data/jool-4.1.4/src/usr/nl/file.c
Examining data/jool-4.1.4/src/usr/nl/wrapper-types.c
Examining data/jool-4.1.4/src/usr/nl/common.h
Examining data/jool-4.1.4/src/usr/nl/common.c
Examining data/jool-4.1.4/src/usr/nl/core.h
Examining data/jool-4.1.4/src/usr/nl/json.c
Examining data/jool-4.1.4/src/usr/util/file.h
Examining data/jool-4.1.4/src/usr/util/cJSON.c
Examining data/jool-4.1.4/src/usr/util/result.c
Examining data/jool-4.1.4/src/usr/util/result.h
Examining data/jool-4.1.4/src/usr/util/str_utils.h
Examining data/jool-4.1.4/src/usr/util/file.c
Examining data/jool-4.1.4/src/usr/util/cJSON.h
Examining data/jool-4.1.4/src/usr/util/str_utils.c
Examining data/jool-4.1.4/src/usr/siit/main-siit.c
Examining data/jool-4.1.4/src/usr/argp/dns.c
Examining data/jool-4.1.4/src/usr/argp/main.c
Examining data/jool-4.1.4/src/usr/argp/requirements.h
Examining data/jool-4.1.4/src/usr/argp/command.h
Examining data/jool-4.1.4/src/usr/argp/requirements.c
Examining data/jool-4.1.4/src/usr/argp/userspace-types.c
Examining data/jool-4.1.4/src/usr/argp/wargp.c
Examining data/jool-4.1.4/src/usr/argp/log.c
Examining data/jool-4.1.4/src/usr/argp/wargp.h
Examining data/jool-4.1.4/src/usr/argp/xlator_type.h
Examining data/jool-4.1.4/src/usr/argp/dns.h
Examining data/jool-4.1.4/src/usr/argp/log.h
Examining data/jool-4.1.4/src/usr/argp/main.h
Examining data/jool-4.1.4/src/usr/argp/userspace-types.h
Examining data/jool-4.1.4/src/usr/argp/xlator_type.c
Examining data/jool-4.1.4/src/usr/argp/command.c
Examining data/jool-4.1.4/src/usr/argp/wargp/denylist4.h
Examining data/jool-4.1.4/src/usr/argp/wargp/instance.h
Examining data/jool-4.1.4/src/usr/argp/wargp/address.h
Examining data/jool-4.1.4/src/usr/argp/wargp/bib.c
Examining data/jool-4.1.4/src/usr/argp/wargp/global.c
Examining data/jool-4.1.4/src/usr/argp/wargp/bib.h
Examining data/jool-4.1.4/src/usr/argp/wargp/global.h
Examining data/jool-4.1.4/src/usr/argp/wargp/pool4.h
Examining data/jool-4.1.4/src/usr/argp/wargp/file.h
Examining data/jool-4.1.4/src/usr/argp/wargp/eamt.c
Examining data/jool-4.1.4/src/usr/argp/wargp/session.c
Examining data/jool-4.1.4/src/usr/argp/wargp/pool4.c
Examining data/jool-4.1.4/src/usr/argp/wargp/stats.h
Examining data/jool-4.1.4/src/usr/argp/wargp/eamt.h
Examining data/jool-4.1.4/src/usr/argp/wargp/session.h
Examining data/jool-4.1.4/src/usr/argp/wargp/stats.c
Examining data/jool-4.1.4/src/usr/argp/wargp/instance.c
Examining data/jool-4.1.4/src/usr/argp/wargp/joold.h
Examining data/jool-4.1.4/src/usr/argp/wargp/joold.c
Examining data/jool-4.1.4/src/usr/argp/wargp/address.c
Examining data/jool-4.1.4/src/usr/argp/wargp/denylist4.c
Examining data/jool-4.1.4/src/usr/argp/wargp/file.c
Examining data/jool-4.1.4/src/usr/joold/modsocket.c
Examining data/jool-4.1.4/src/usr/joold/log.c
Examining data/jool-4.1.4/src/usr/joold/joold.c
Examining data/jool-4.1.4/src/usr/joold/log.h
Examining data/jool-4.1.4/src/usr/joold/netsocket.h
Examining data/jool-4.1.4/src/usr/joold/netsocket.c
Examining data/jool-4.1.4/src/usr/joold/modsocket.h
Examining data/jool-4.1.4/src/common/global.c
Examining data/jool-4.1.4/src/common/global.h
Examining data/jool-4.1.4/src/common/types.h
Examining data/jool-4.1.4/src/common/config.h
Examining data/jool-4.1.4/src/common/stats.h
Examining data/jool-4.1.4/src/common/iptables.h
Examining data/jool-4.1.4/src/common/session.h
Examining data/jool-4.1.4/src/common/types.c
Examining data/jool-4.1.4/src/common/constants.h
Examining data/jool-4.1.4/src/common/xlat.h
Examining data/jool-4.1.4/src/common/config.c
Examining data/jool-4.1.4/src/mod/nat64/jool.c
Examining data/jool-4.1.4/src/mod/common/icmp_wrapper.h
Examining data/jool-4.1.4/src/mod/common/atomic_config.c
Examining data/jool-4.1.4/src/mod/common/trace.h
Examining data/jool-4.1.4/src/mod/common/linux_version.h
Examining data/jool-4.1.4/src/mod/common/route.h
Examining data/jool-4.1.4/src/mod/common/address.h
Examining data/jool-4.1.4/src/mod/common/address_xlat.c
Examining data/jool-4.1.4/src/mod/common/atomic_config.h
Examining data/jool-4.1.4/src/mod/common/timer.h
Examining data/jool-4.1.4/src/mod/common/skbuff.c
Examining data/jool-4.1.4/src/mod/common/wkmalloc.c
Examining data/jool-4.1.4/src/mod/common/types.h
Examining data/jool-4.1.4/src/mod/common/db/denylist4.h
Examining data/jool-4.1.4/src/mod/common/db/rfc6791v4.c
Examining data/jool-4.1.4/src/mod/common/db/rfc6791v4.h
Examining data/jool-4.1.4/src/mod/common/db/global.c
Examining data/jool-4.1.4/src/mod/common/db/global.h
Examining data/jool-4.1.4/src/mod/common/db/eam.h
Examining data/jool-4.1.4/src/mod/common/db/bib/pkt_queue.h
Examining data/jool-4.1.4/src/mod/common/db/bib/db.c
Examining data/jool-4.1.4/src/mod/common/db/bib/entry.c
Examining data/jool-4.1.4/src/mod/common/db/bib/pkt_queue.c
Examining data/jool-4.1.4/src/mod/common/db/bib/db.h
Examining data/jool-4.1.4/src/mod/common/db/bib/entry.h
Examining data/jool-4.1.4/src/mod/common/db/denylist4.c
Examining data/jool-4.1.4/src/mod/common/db/rbtree.h
Examining data/jool-4.1.4/src/mod/common/db/rfc6791v6.h
Examining data/jool-4.1.4/src/mod/common/db/rfc6791v6.c
Examining data/jool-4.1.4/src/mod/common/db/pool4/db.c
Examining data/jool-4.1.4/src/mod/common/db/pool4/empty.c
Examining data/jool-4.1.4/src/mod/common/db/pool4/rfc6056.h
Examining data/jool-4.1.4/src/mod/common/db/pool4/rfc6056.c
Examining data/jool-4.1.4/src/mod/common/db/pool4/db.h
Examining data/jool-4.1.4/src/mod/common/db/pool4/empty.h
Examining data/jool-4.1.4/src/mod/common/db/rbtree.c
Examining data/jool-4.1.4/src/mod/common/db/eam.c
Examining data/jool-4.1.4/src/mod/common/rtrie.h
Examining data/jool-4.1.4/src/mod/common/translation_state.h
Examining data/jool-4.1.4/src/mod/common/error_pool.h
Examining data/jool-4.1.4/src/mod/common/init.h
Examining data/jool-4.1.4/src/mod/common/address_xlat.h
Examining data/jool-4.1.4/src/mod/common/trace.c
Examining data/jool-4.1.4/src/mod/common/stats.h
Examining data/jool-4.1.4/src/mod/common/kernel_hook_iptables.c
Examining data/jool-4.1.4/src/mod/common/rfc6052.c
Examining data/jool-4.1.4/src/mod/common/nl/denylist4.h
Examining data/jool-4.1.4/src/mod/common/nl/instance.h
Examining data/jool-4.1.4/src/mod/common/nl/atomic_config.c
Examining data/jool-4.1.4/src/mod/common/nl/attribute.c
Examining data/jool-4.1.4/src/mod/common/nl/address.h
Examining data/jool-4.1.4/src/mod/common/nl/bib.c
Examining data/jool-4.1.4/src/mod/common/nl/atomic_config.h
Examining data/jool-4.1.4/src/mod/common/nl/global.c
Examining data/jool-4.1.4/src/mod/common/nl/bib.h
Examining data/jool-4.1.4/src/mod/common/nl/global.h
Examining data/jool-4.1.4/src/mod/common/nl/pool4.h
Examining data/jool-4.1.4/src/mod/common/nl/nl_core.h
Examining data/jool-4.1.4/src/mod/common/nl/session.c
Examining data/jool-4.1.4/src/mod/common/nl/pool4.c
Examining data/jool-4.1.4/src/mod/common/nl/stats.h
Examining data/jool-4.1.4/src/mod/common/nl/nl_common.c
Examining data/jool-4.1.4/src/mod/common/nl/attribute.h
Examining data/jool-4.1.4/src/mod/common/nl/session.h
Examining data/jool-4.1.4/src/mod/common/nl/stats.c
Examining data/jool-4.1.4/src/mod/common/nl/nl_core.c
Examining data/jool-4.1.4/src/mod/common/nl/instance.c
Examining data/jool-4.1.4/src/mod/common/nl/joold.h
Examining data/jool-4.1.4/src/mod/common/nl/eam.h
Examining data/jool-4.1.4/src/mod/common/nl/joold.c
Examining data/jool-4.1.4/src/mod/common/nl/nl_handler.c
Examining data/jool-4.1.4/src/mod/common/nl/address.c
Examining data/jool-4.1.4/src/mod/common/nl/denylist4.c
Examining data/jool-4.1.4/src/mod/common/nl/nl_handler.h
Examining data/jool-4.1.4/src/mod/common/nl/nl_common.h
Examining data/jool-4.1.4/src/mod/common/nl/eam.c
Examining data/jool-4.1.4/src/mod/common/stats.c
Examining data/jool-4.1.4/src/mod/common/icmp_wrapper.c
Examining data/jool-4.1.4/src/mod/common/ipv6_hdr_iterator.c
Examining data/jool-4.1.4/src/mod/common/core.c
Examining data/jool-4.1.4/src/mod/common/wkmalloc.h
Examining data/jool-4.1.4/src/mod/common/init.c
Examining data/jool-4.1.4/src/mod/common/log.c
Examining data/jool-4.1.4/src/mod/common/joold.h
Examining data/jool-4.1.4/src/mod/common/packet.h
Examining data/jool-4.1.4/src/mod/common/skbuff.h
Examining data/jool-4.1.4/src/mod/common/wrapper-config.c
Examining data/jool-4.1.4/src/mod/common/ipv6_hdr_iterator.h
Examining data/jool-4.1.4/src/mod/common/timer.c
Examining data/jool-4.1.4/src/mod/common/wrapper-global.c
Examining data/jool-4.1.4/src/mod/common/xlator.c
Examining data/jool-4.1.4/src/mod/common/kernel_hook.h
Examining data/jool-4.1.4/src/mod/common/joold.c
Examining data/jool-4.1.4/src/mod/common/types.c
Examining data/jool-4.1.4/src/mod/common/dev.h
Examining data/jool-4.1.4/src/mod/common/address.c
Examining data/jool-4.1.4/src/mod/common/rfc6052.h
Examining data/jool-4.1.4/src/mod/common/route_out.c
Examining data/jool-4.1.4/src/mod/common/packet.c
Examining data/jool-4.1.4/src/mod/common/wrapper-types.c
Examining data/jool-4.1.4/src/mod/common/rcu.h
Examining data/jool-4.1.4/src/mod/common/dev.c
Examining data/jool-4.1.4/src/mod/common/log.h
Examining data/jool-4.1.4/src/mod/common/rfc7915/core.c
Examining data/jool-4.1.4/src/mod/common/rfc7915/4to6.c
Examining data/jool-4.1.4/src/mod/common/rfc7915/6to4.c
Examining data/jool-4.1.4/src/mod/common/rfc7915/6to4.h
Examining data/jool-4.1.4/src/mod/common/rfc7915/common.h
Examining data/jool-4.1.4/src/mod/common/rfc7915/common.c
Examining data/jool-4.1.4/src/mod/common/rfc7915/core.h
Examining data/jool-4.1.4/src/mod/common/rfc7915/4to6.h
Examining data/jool-4.1.4/src/mod/common/nf_wrapper.h
Examining data/jool-4.1.4/src/mod/common/rtrie.c
Examining data/jool-4.1.4/src/mod/common/error_pool.c
Examining data/jool-4.1.4/src/mod/common/xlator.h
Examining data/jool-4.1.4/src/mod/common/core.h
Examining data/jool-4.1.4/src/mod/common/steps/send_packet.h
Examining data/jool-4.1.4/src/mod/common/steps/handling_hairpinning_nat64.c
Examining data/jool-4.1.4/src/mod/common/steps/filtering_and_updating.c
Examining data/jool-4.1.4/src/mod/common/steps/compute_outgoing_tuple.h
Examining data/jool-4.1.4/src/mod/common/steps/compute_outgoing_tuple.c
Examining data/jool-4.1.4/src/mod/common/steps/handling_hairpinning_siit.h
Examining data/jool-4.1.4/src/mod/common/steps/determine_incoming_tuple.c
Examining data/jool-4.1.4/src/mod/common/steps/send_packet.c
Examining data/jool-4.1.4/src/mod/common/steps/determine_incoming_tuple.h
Examining data/jool-4.1.4/src/mod/common/steps/compute_outgoing_tuple_siit.c
Examining data/jool-4.1.4/src/mod/common/steps/handling_hairpinning_nat64.h
Examining data/jool-4.1.4/src/mod/common/steps/handling_hairpinning_siit.c
Examining data/jool-4.1.4/src/mod/common/steps/filtering_and_updating.h
Examining data/jool-4.1.4/src/mod/common/kernel_hook_netfilter.c
Examining data/jool-4.1.4/src/mod/common/translation_state.c
Examining data/jool-4.1.4/src/mod/siit/jool_siit.c

FINAL RESULTS:

data/jool-4.1.4/src/mod/common/error_pool.c:107:3:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		strcpy(buffer_pointer, node->msg);
data/jool-4.1.4/src/mod/common/log.c:46:2:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	vsnprintf(msg, 256, format, args);
data/jool-4.1.4/src/mod/common/log.h:104:61:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
void log_err(const char *format, ...) __attribute__((format(printf, 1, 2)));
data/jool-4.1.4/src/mod/common/nl/attribute.c:74:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(out, nla_data(attr));
data/jool-4.1.4/src/mod/common/nl/nl_handler.c:241:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(jool_family.name, JOOLNL_FAMILY);
data/jool-4.1.4/src/mod/common/wkmalloc.c:56:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(kmn_name(entry), name);
data/jool-4.1.4/src/mod/common/xlator.c:356:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(jool->iname, iname);
data/jool-4.1.4/src/usr/argp/log.c:13:2:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	vfprintf(stderr, format, args);
data/jool-4.1.4/src/usr/argp/log.c:26:2:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	vfprintf(stderr, format, args);
data/jool-4.1.4/src/usr/argp/log.h:7:55:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define CHECK_FORMAT(str, args) __attribute__((format(printf, str, args)))
data/jool-4.1.4/src/usr/argp/main.c:632:2:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	printf(JOOL_VERSION_STR "\n");
data/jool-4.1.4/src/usr/argp/wargp/instance.c:47:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(field->value, str);
data/jool-4.1.4/src/usr/iptables/common.c:27:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(info->iname, INAME_DEFAULT);
data/jool-4.1.4/src/usr/iptables/common.c:70:3:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		fprintf(stderr, INAME_VALIDATE_ERRMSG "\n");
data/jool-4.1.4/src/usr/iptables/common.c:73:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(info->iname, optarg);
data/jool-4.1.4/src/usr/nl/core.c:64:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(hdr->iname, iname ? iname : "default");
data/jool-4.1.4/src/usr/nl/instance.c:48:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(entry->iname, nla_get_string(attrs[JNLAIE_INAME]));
data/jool-4.1.4/src/usr/util/result.c:39:2:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	vsnprintf(result.msg, MAX_STR_LEN, msg, args);
data/jool-4.1.4/src/usr/util/str_utils.c:275:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/util/str_utils.c:318:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/util/str_utils.c:361:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/util/str_utils.c:401:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/util/str_utils.c:437:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/util/str_utils.c:466:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(str_copy, str);
data/jool-4.1.4/src/usr/argp/main.c:645:16:  [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 ((opt = getopt_long(argc, argv, "+?Vi:f:", OPTIONS, NULL)) != -1) {
data/jool-4.1.4/src/common/config.h:304: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 iname[INAME_MAX_SIZE];
data/jool-4.1.4/src/common/config.h:330: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 iname[INAME_MAX_SIZE];
data/jool-4.1.4/src/common/global.c:313: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 string[TIMEOUT_BUFLEN];
data/jool-4.1.4/src/common/global.c:343: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 buffer[INET6_ADDRSTRLEN];
data/jool-4.1.4/src/common/iptables.h:11: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 iname[INAME_MAX_SIZE];
data/jool-4.1.4/src/mod/common/db/global.c:80: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(config->plateaus.values, &PLATEAUS, sizeof(PLATEAUS));
data/jool-4.1.4/src/mod/common/db/pool4/db.c:1108: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(masks + 1, table + 1,
data/jool-4.1.4/src/mod/common/ipv6_hdr_iterator.c:8: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(iterator, &defaults, sizeof(defaults));
data/jool-4.1.4/src/mod/common/nl/attribute.c:89: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(out, nla_data(attr), sizeof(*out));
data/jool-4.1.4/src/mod/common/nl/attribute.c:104: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(out, nla_data(attr), sizeof(*out));
data/jool-4.1.4/src/mod/common/nl/nl_core.c:42: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(response->hdr, get_jool_hdr(info), sizeof(*response->hdr));
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:872: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(hdr6, ipv6_hdr(first), HDRS_LEN);
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:1166: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(&copy_hdr, in_icmp, sizeof(*in_icmp));
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:1519: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(tcp_out, tcp_in, pkt_l4hdr_len(in));
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:1527: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(&tcp_copy, tcp_in, sizeof(*tcp_in));
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:1553: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(udp_out, udp_in, pkt_l4hdr_len(in));
data/jool-4.1.4/src/mod/common/rfc7915/4to6.c:1562: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(&udp_copy, udp_in, sizeof(*udp_in));
data/jool-4.1.4/src/mod/common/rfc7915/6to4.c:823: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(&copy_hdr, in_icmp, sizeof(*in_icmp));
data/jool-4.1.4/src/mod/common/rfc7915/6to4.c:1096: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(tcp_out, tcp_in, pkt_l4hdr_len(in));
data/jool-4.1.4/src/mod/common/rfc7915/6to4.c:1104: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(&tcp_copy, tcp_in, sizeof(*tcp_in));
data/jool-4.1.4/src/mod/common/rfc7915/6to4.c:1130: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(udp_out, udp_in, pkt_l4hdr_len(in));
data/jool-4.1.4/src/mod/common/rfc7915/6to4.c:1138: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(&udp_copy, udp_in, sizeof(*udp_in));
data/jool-4.1.4/src/mod/common/rtrie.c:47: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(inode->key.bytes, key->bytes, key_len);
data/jool-4.1.4/src/mod/common/rtrie.c:68: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(leaf + 1, content, content_len);
data/jool-4.1.4/src/mod/common/rtrie.c:455: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(result, node + 1, trie->value_size);
data/jool-4.1.4/src/mod/common/skbuff.c:322: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[10], *payload;
data/jool-4.1.4/src/mod/common/translation_state.c:35: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(&state->jool, jool, sizeof(*jool));
data/jool-4.1.4/src/mod/common/xlator.c:462: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(ops, netfilter_hooks, sizeof(netfilter_hooks));
data/jool-4.1.4/src/mod/common/xlator.c:486: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(result, &new->jool, sizeof(new->jool));
data/jool-4.1.4/src/mod/common/xlator.c:642: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(&new->jool, jool, sizeof(*jool));
data/jool-4.1.4/src/mod/common/xlator.c:782: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(result, &instance->jool, sizeof(*result));
data/jool-4.1.4/src/mod/common/xlator.c:828: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(result, &instance->jool, sizeof(*result));
data/jool-4.1.4/src/mod/common/xlator.h:31: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 iname[INAME_MAX_SIZE];
data/jool-4.1.4/src/usr/argp/dns.c:11: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 hostname[NI_MAXHOST], service[NI_MAXSERV];
data/jool-4.1.4/src/usr/argp/dns.c:12: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 hostaddr[INET6_ADDRSTRLEN];
data/jool-4.1.4/src/usr/argp/dns.c:49: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 hostname[NI_MAXHOST], service[NI_MAXSERV];
data/jool-4.1.4/src/usr/argp/wargp/address.c:37:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char str[INET6_ADDRSTRLEN];
data/jool-4.1.4/src/usr/argp/wargp/eamt.c:31: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 ipv6_str[INET6_ADDRSTRLEN];
data/jool-4.1.4/src/usr/argp/wargp/instance.c:23: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 value[INAME_MAX_SIZE];
data/jool-4.1.4/src/usr/argp/wargp/session.c:59: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 timeout[TIMEOUT_BUFLEN];
data/jool-4.1.4/src/usr/joold/log.c:19: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 buffer[256];
data/jool-4.1.4/src/usr/joold/netsocket.c:472: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 buffer[JOOLD_MAX_PAYLOAD];
data/jool-4.1.4/src/usr/nl/attribute.c:104: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(addr, nla_data(attr), sizeof(*addr));
data/jool-4.1.4/src/usr/nl/attribute.c:109: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(addr, nla_data(attr), sizeof(*addr));
data/jool-4.1.4/src/usr/nl/bib.c:37: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(&args->last, &entry, sizeof(entry));
data/jool-4.1.4/src/usr/nl/denylist4.c:37: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(&args->last, &entry, sizeof(entry));
data/jool-4.1.4/src/usr/nl/instance.c:74: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(&args->last, &entry, sizeof(entry));
data/jool-4.1.4/src/usr/nl/pool4.c:37: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(&args->last, &entry, sizeof(entry));
data/jool-4.1.4/src/usr/nl/session.c:37: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(&args->last, &entry, sizeof(entry));
data/jool-4.1.4/src/usr/util/cJSON.c:210:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char firstByteMark[7] = {
data/jool-4.1.4/src/usr/util/file.c:20:9:  [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).
	file = fopen(file_name, "rb");
data/jool-4.1.4/src/usr/util/str_utils.c:265:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char str_copy[STR_MAX_LEN];
data/jool-4.1.4/src/usr/util/str_utils.c:308:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char str_copy[STR_MAX_LEN];
data/jool-4.1.4/src/usr/util/str_utils.c:351:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char str_copy[STR_MAX_LEN];
data/jool-4.1.4/src/usr/util/str_utils.c:391:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char str_copy[STR_MAX_LEN];
data/jool-4.1.4/src/mod/common/error_pool.c:76: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).
	msg_size += strlen(msg);
data/jool-4.1.4/src/mod/common/error_pool.c:108:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		buffer_pointer += strlen(node->msg);
data/jool-4.1.4/src/mod/common/wkmalloc.c:50:49:  [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).
	entry = kmalloc(sizeof(struct kmalloc_entry) + strlen(name) + 1,
data/jool-4.1.4/src/usr/argp/main.c:377: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).
		if (memcmp(option->label, prefix, strlen(prefix)) == 0) {
data/jool-4.1.4/src/usr/util/str_utils.c:175:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		if (strlen(tail + 1) < 3)
data/jool-4.1.4/src/usr/util/str_utils.c:269:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(str) + 1 > STR_MAX_LEN) {
data/jool-4.1.4/src/usr/util/str_utils.c:312:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(str) + 1 > STR_MAX_LEN) {
data/jool-4.1.4/src/usr/util/str_utils.c:355:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(str) + 1 > STR_MAX_LEN) {
data/jool-4.1.4/src/usr/util/str_utils.c:395:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(str) + 1 > STR_MAX_LEN) {
data/jool-4.1.4/src/usr/util/str_utils.c:433:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	str_copy = malloc(strlen(str) + 1);

ANALYSIS SUMMARY:

Hits = 90
Lines analyzed = 34125 in approximately 0.85 seconds (40206 lines/second)
Physical Source Lines of Code (SLOC) = 24123
Hits@level = [0] 273 [1]  10 [2]  55 [3]   1 [4]  24 [5]   0
Hits@level+ = [0+] 363 [1+]  90 [2+]  80 [3+]  25 [4+]  24 [5+]   0
Hits/KSLOC@level+ = [0+] 15.0479 [1+] 3.73088 [2+] 3.31634 [3+] 1.03636 [4+] 0.994901 [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.