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/plink1.9-1.90~b6.21-201019/pigz.c
Examining data/plink1.9-1.90~b6.21-201019/dcdflib.h
Examining data/plink1.9-1.90~b6.21-201019/plink_lasso.h
Examining data/plink1.9-1.90~b6.21-201019/plink_perm.c
Examining data/plink1.9-1.90~b6.21-201019/plink_assoc.c
Examining data/plink1.9-1.90~b6.21-201019/bgzf.c
Examining data/plink1.9-1.90~b6.21-201019/plink_calc.h
Examining data/plink1.9-1.90~b6.21-201019/plink_matrix.c
Examining data/plink1.9-1.90~b6.21-201019/plink_perm.h
Examining data/plink1.9-1.90~b6.21-201019/plink_dosage.h
Examining data/plink1.9-1.90~b6.21-201019/Rsrv.h
Examining data/plink1.9-1.90~b6.21-201019/hts.h
Examining data/plink1.9-1.90~b6.21-201019/hfile.h
Examining data/plink1.9-1.90~b6.21-201019/Rconnection.cc
Examining data/plink1.9-1.90~b6.21-201019/hfile_internal.h
Examining data/plink1.9-1.90~b6.21-201019/plink_assoc.h
Examining data/plink1.9-1.90~b6.21-201019/plink_cluster.h
Examining data/plink1.9-1.90~b6.21-201019/plink_set.h
Examining data/plink1.9-1.90~b6.21-201019/plink_lasso.c
Examining data/plink1.9-1.90~b6.21-201019/plink_filter.c
Examining data/plink1.9-1.90~b6.21-201019/plink_data.c
Examining data/plink1.9-1.90~b6.21-201019/plink_rserve.c
Examining data/plink1.9-1.90~b6.21-201019/plink_common.c
Examining data/plink1.9-1.90~b6.21-201019/plink_dosage.c
Examining data/plink1.9-1.90~b6.21-201019/plink_data.h
Examining data/plink1.9-1.90~b6.21-201019/plink_cluster.c
Examining data/plink1.9-1.90~b6.21-201019/plink_misc.h
Examining data/plink1.9-1.90~b6.21-201019/plink_set.c
Examining data/plink1.9-1.90~b6.21-201019/plink_homozyg.c
Examining data/plink1.9-1.90~b6.21-201019/plink_ld.c
Examining data/plink1.9-1.90~b6.21-201019/plink_cnv.c
Examining data/plink1.9-1.90~b6.21-201019/plink_rserve.h
Examining data/plink1.9-1.90~b6.21-201019/plink_calc.c
Examining data/plink1.9-1.90~b6.21-201019/ipmpar.h
Examining data/plink1.9-1.90~b6.21-201019/yarn.c
Examining data/plink1.9-1.90~b6.21-201019/prettify.c
Examining data/plink1.9-1.90~b6.21-201019/plink_common.h
Examining data/plink1.9-1.90~b6.21-201019/plink_cnv.h
Examining data/plink1.9-1.90~b6.21-201019/plink.c
Examining data/plink1.9-1.90~b6.21-201019/plink_help.h
Examining data/plink1.9-1.90~b6.21-201019/plink_stats.c
Examining data/plink1.9-1.90~b6.21-201019/config.h
Examining data/plink1.9-1.90~b6.21-201019/plink_homozyg.h
Examining data/plink1.9-1.90~b6.21-201019/Rconnection.h
Examining data/plink1.9-1.90~b6.21-201019/plink_glm.h
Examining data/plink1.9-1.90~b6.21-201019/plink_family.c
Examining data/plink1.9-1.90~b6.21-201019/pigz.h
Examining data/plink1.9-1.90~b6.21-201019/plink_glm.c
Examining data/plink1.9-1.90~b6.21-201019/sisocks.h
Examining data/plink1.9-1.90~b6.21-201019/plink_ld.h
Examining data/plink1.9-1.90~b6.21-201019/yarn.h
Examining data/plink1.9-1.90~b6.21-201019/hfile.c
Examining data/plink1.9-1.90~b6.21-201019/plink_matrix.h
Examining data/plink1.9-1.90~b6.21-201019/SFMT.c
Examining data/plink1.9-1.90~b6.21-201019/plink_filter.h
Examining data/plink1.9-1.90~b6.21-201019/bgzf.h
Examining data/plink1.9-1.90~b6.21-201019/plink_family.h
Examining data/plink1.9-1.90~b6.21-201019/plink_stats.h
Examining data/plink1.9-1.90~b6.21-201019/plink_help.c
Examining data/plink1.9-1.90~b6.21-201019/plink_misc.c
Examining data/plink1.9-1.90~b6.21-201019/SFMT.h
Examining data/plink1.9-1.90~b6.21-201019/hts_defs.h
Examining data/plink1.9-1.90~b6.21-201019/dcdflib.c
Examining data/plink1.9-1.90~b6.21-201019/khash.h

FINAL RESULTS:

data/plink1.9-1.90~b6.21-201019/Rconnection.cc:135:5:  [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(data+4,txt);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:611:9:  [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(sau.sun_path,host); // FIXME: possible overflow!
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:738:5:  [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(cm->data+4, symbol);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:901: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(authbuf, user); c=authbuf+strlen(user);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:903: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(c,pwd);
data/plink1.9-1.90~b6.21-201019/pigz.c:655:9:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        vfprintf(stderr, fmt, ap);
data/plink1.9-1.90~b6.21-201019/plink.c:966:7:  [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(bedname, outname);
data/plink1.9-1.90~b6.21-201019/plink.c:1165:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: At least 2 %s required for pairwise analysis.\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink.c:1450:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Among remaining phenotypes, %u %s and %u %s.  (%" PRIuPTR " phenotype%s missing.)\n", pheno_nm_ct - pheno_ctrl_ct, (pheno_nm_ct - pheno_ctrl_ct == 1)? "is a case" : "are cases", pheno_ctrl_ct, (pheno_ctrl_ct == 1)? "is a control" : "are controls", sample_ct - pheno_nm_ct, (sample_ct - pheno_nm_ct == 1)? " is" : "s are");
data/plink1.9-1.90~b6.21-201019/plink.c:1452:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Among remaining phenotypes, %u %s and %u %s.\n", pheno_nm_ct - pheno_ctrl_ct, (pheno_nm_ct - pheno_ctrl_ct == 1)? "is a case" : "are cases", pheno_ctrl_ct, (pheno_ctrl_ct == 1)? "is a control" : "are controls");
data/plink1.9-1.90~b6.21-201019/plink.c:1489:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Too many %s pruned for additional pairwise analysis steps.\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink.c:2219:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: %s accepts at most %u parameter%s.\n", flag_name, max_ct, (max_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink.c:2221:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: %s only accepts %u parameter%s.\n", flag_name, max_ct, (max_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink.c:2226:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Missing %s parameter.\n", flag_name);
data/plink1.9-1.90~b6.21-201019/plink.c:2228:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: %s requires %s%u parameters.\n", flag_name, (min_ct < max_ct)? "at least " : "", min_ct);
data/plink1.9-1.90~b6.21-201019/plink.c:2309:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid --%s parameter '%s'.\n", cur_flag_str, argv[cur_param_idx]);
data/plink1.9-1.90~b6.21-201019/plink.c:2319:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --%s chromosome code '%s'.\n", cur_flag_str, range_start);
data/plink1.9-1.90~b6.21-201019/plink.c:2332:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --%s chromosome code '%s'.\n", cur_flag_str, range_end);
data/plink1.9-1.90~b6.21-201019/plink.c:2341:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --%s chromosome code '%s' is not greater than '%s'.\n", cur_flag_str, range_end, range_start);
data/plink1.9-1.90~b6.21-201019/plink.c:2936:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Invalid --autosome-num parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:2965:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Invalid --chr-set parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:3001:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --chr-set parameter '%s'.\n", argv[cur_arg + param_idx]);
data/plink1.9-1.90~b6.21-201019/plink.c:3457:2:  [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, g_errstr_fopen, argv[uii + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:3602:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Unrecognized flag ('%s').\n", argv[uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4086:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --23file phenotype '%s'.\n", argv[cur_arg + 5]);
data/plink1.9-1.90~b6.21-201019/plink.c:4113:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(g_logbuf, "Error: --%s has been retired due to brain-damaged design.  Use\n--split-x instead.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:4136:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Invalid --K cluster count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4155:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --R modifier '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:4183:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --R-port parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4270:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --allow-extra-chr parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4297:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --allele1234 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4315:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --alleleACGT parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4375:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --assoc mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:4397:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --assoc parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4416:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --adjust parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4425:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --aperm min permutation count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4431:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --aperm max permutation count '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:4443:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --aperm alpha threshold '%s'.\n", argv[cur_arg + 3]);
data/plink1.9-1.90~b6.21-201019/plink.c:4448:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --aperm beta '%s'.\n", argv[cur_arg + 4]);
data/plink1.9-1.90~b6.21-201019/plink.c:4453:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Invalid --aperm initial pruning interval '%s'.\n", argv[cur_arg + 5]);
data/plink1.9-1.90~b6.21-201019/plink.c:4457:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Invalid --aperm initial pruning interval '%s'.\n", argv[cur_arg + 5]);
data/plink1.9-1.90~b6.21-201019/plink.c:4462:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --aperm pruning interval slope '%s'.\n", argv[cur_arg + 6]);
data/plink1.9-1.90~b6.21-201019/plink.c:4466:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --aperm pruning interval slope '%s'.\n", argv[cur_arg + 6]);
data/plink1.9-1.90~b6.21-201019/plink.c:4550:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --annotate parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4568:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --annotate '%s' modifier must be used with 'ranges'.\n", (annot_info.modifier & ANNOT_MINIMAL)? "minimal" : "distance");
data/plink1.9-1.90~b6.21-201019/plink.c:4664: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(pedname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4677: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(mapname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4721:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --bp-space minimum bp distance '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4764:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --bd mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:4776:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --bd parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4792:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --biallelic-only modifier '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4823: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(pedname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4826:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --bgen modifier '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:4841:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --blocks parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4855:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-inform-frac parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4868:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-max-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4885:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-min-maf parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4898:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-recomb-highci parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4916:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-strong-highci parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4935:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --blocks-strong-lowci parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4956:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --border parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4965:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Unrecognized flag (%s).  (This is PLINK 1.9, not 2.x.)\n", argv[cur_arg]);
data/plink1.9-1.90~b6.21-201019/plink.c:5012:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --covar parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:5057:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cell parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5065:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ci parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5097:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --cluster parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:5174:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --cnv-enrichment-test permutation count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5203:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-freq-exclude-above parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5217:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-freq-exclude-below parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5231:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-freq-exclude-exact parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5245:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-freq-include-exact parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5256:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --cnv-freq-method2 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5279:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --cnv-freq-overlap parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5294:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --cnv-indiv-perm permutation count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5319:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-kb size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5348:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --cnv-make-map parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5365:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-max-kb size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5383:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-max-score value '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5396:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-max-sites parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5412:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-overlap value '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5439:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-region-overlap value '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5453:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-score value '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5470:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-sites parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5524:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-test permutation count '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:5555:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --cnv-test-region permutation count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5570:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-test-window size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5592:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --cnv-union-overlap value '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5607:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --cnv-write parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5755:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --check-sex female F-statistic estimate ceiling '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:5760:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --check-sex male F-statistic estimate floor '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:5898:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --clump-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5916:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --clump-p1 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5929:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --clump-p2 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5942:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --clump-r2 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:5967:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --clump-range-border parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6113:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --distance parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6126:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --distance-exp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6143:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --distance-wts exponent '%s'.\n", &(argv[cur_arg + 1][4]));
data/plink1.9-1.90~b6.21-201019/plink.c:6153:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --distance-wts parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:6210:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dummy parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6246:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dummy-coding max categories parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6328:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dosage skip0 parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:6333:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dosage skip1 parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:6338:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dosage skip2 parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:6344:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dosage format parameter '%s'.\n", &(argv[cur_arg + uii][7]));
data/plink1.9-1.90~b6.21-201019/plink.c:6352:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --dosage modifier '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6398:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --dfam mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:6408:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --dfam parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6503:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --epistasis modifier '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6519:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --epistasis-summary-merge job count '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:6527:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --epi1 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6536:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --epi2 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6600: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(famname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6664:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --freq parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6685:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --freqx parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6715:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --from-bp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6724:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --from-kb/-mb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6786:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --fast-epistasis 'no-ueki' modifier cannot be used with '%s'.\n", (epi_info.modifier & EPI_FAST_BOOST)? "boost" : "joint-effects");
data/plink1.9-1.90~b6.21-201019/plink.c:6792:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --fast-epistasis 'boost' modifier cannot be used with '%s'.\n", (epi_info.modifier & EPI_FAST_NO_UEKI)? "no-ueki" : "joint-effects");
data/plink1.9-1.90~b6.21-201019/plink.c:6802:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --fast-epistasis 'joint-effects' modifier cannot be used with '%s'.\n", (epi_info.modifier & EPI_FAST_NO_UEKI)? "no-ueki" : "boost");
data/plink1.9-1.90~b6.21-201019/plink.c:6824:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --fast-epistasis modifier '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6836:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --flip-scan parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6851:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --flip-scan-window size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6863:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --flip-scan-window-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6880:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --flip-scan-threshold parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6917:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --fst parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6935:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --geno parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6939:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --geno parameter '%s' (must be between 0 and 1).\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6958: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(pedname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:6980:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --genome parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:6999:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --groupdist jackknife iteration count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7004:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --groupdist jackknife delete parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:7026:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(pedname, sptr);
data/plink1.9-1.90~b6.21-201019/plink.c:7044:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(pedname, sptr);
data/plink1.9-1.90~b6.21-201019/plink.c:7059:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --gxe parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7155:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --gap parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7192:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --gene-list-border parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7258:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --hwe threshold '%s' (must be between 0 and 1).\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7286:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --het parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7304:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --hardy parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7333:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --homozyg parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7343:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-snp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7352:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7363:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-density parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7373:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-gap parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7383:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-het parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7396:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-window-snp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7408:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-window-het parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7417:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-window-missing parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7426:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-window-threshold parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7439:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --homozyg-match parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7488:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --hard-call-threshold parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7547:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --%s window size '%s'.\n", argptr, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7552:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --%s parameter sequence.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:7563:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid increment '%s' for --%s.\n", argv[cur_arg + param_ct - 1], argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:7570:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --%s r^2 threshold '%s'.\n", argptr, argv[cur_arg + param_ct]);
data/plink1.9-1.90~b6.21-201019/plink.c:7584:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --indep window size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7600:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid increment '%s' for --indep.\n", argv[cur_arg + param_ct - 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7604:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --indep VIF threshold '%s'.\n", argv[cur_arg + param_ct]);
data/plink1.9-1.90~b6.21-201019/plink.c:7608:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --indep VIF threshold '%s' too small (must be >= 1).\n", argv[cur_arg + param_ct]);
data/plink1.9-1.90~b6.21-201019/plink.c:7625:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Missing \"--indiv-sort %s\" filename.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7634:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: '%s' is not a valid mode for --indiv-sort.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7638:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: \"--indiv-sort %s\" does not accept a second parameter.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7647:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --ibs-test permutation count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7651:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --ibs-test permutation count '%s' too small (min %u).\n", argv[cur_arg + 1], MAX_THREADS * 2);
data/plink1.9-1.90~b6.21-201019/plink.c:7669:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ibm parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7737:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --impute-sex female F-statistic estimate ceiling '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7742:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --impute-sex male F-statistic estimate floor '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:7825:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --je-cellmin parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7854:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --keep-allele-order has no effect with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:7864:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --keep-autoconv has no effect with %s.\n", (load_rare == LOAD_RARE_CNV)? "--cfile/--cnv-list" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:7930: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(pedname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7973:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --lambda parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8014:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: --%s 'mperm' and 'perm' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8020:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: --%s 'mperm' and 'perm' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8023:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Duplicate --%s 'mperm' modifier.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8027:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Invalid --%s mperm parameter '%s'.\n", argptr, &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:8037:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Conflicting --%s parameters.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8044:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Conflicting --%s parameters.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8051:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Conflicting --%s parameters.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8058:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Conflicting --%s parameters.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8065:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: --%s no-snp cannot be used with --adjust.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8074:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: --%s 'sex' and 'no-x-sex' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8080:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: --%s 'sex' and 'no-x-sex' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8099:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Improper --%s mperm syntax.  (Use \"--%s mperm=<value>\".)\n", argptr, argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8102:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --%s parameter '%s'.\n", argptr, argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8107:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --%s 'no-snp' modifier conflicts with another modifier.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:8118:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ld-xchr parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8131:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --lasso heritability estimate '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8141:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --lasso minimum lambda '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8171:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --lasso-lambda parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8176:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --lasso-lambda heritability estimate '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:8195:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ld-window window size '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8203:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ld-window-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8216:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ld-window-cm parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8225:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ld-window-r2 parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8273:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --ld parameter '%s'.\n", argv[cur_arg + 3]);
data/plink1.9-1.90~b6.21-201019/plink.c:8294:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --list-duplicate-vars parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8331: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(mapname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8338:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --missing-genotype parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8351:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --missing-phenotype parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8382:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mpheno parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8394:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mfilter parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8403:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --memory parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8407:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --memory parameter '%s' (minimum %u).\n", argv[cur_arg + 1], BIGSTACK_MIN_MB);
data/plink1.9-1.90~b6.21-201019/plink.c:8422:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --maf parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8426:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --maf parameter '%s' too small (must be > 0).\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8429:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --maf parameter '%s' too large (must be <= %g).\n", argv[cur_arg + 1], max_maf);
data/plink1.9-1.90~b6.21-201019/plink.c:8441:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --max-maf parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8445:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --max-maf parameter '%s' too small (must be >= %g).\n", argv[cur_arg + 1], min_maf);
data/plink1.9-1.90~b6.21-201019/plink.c:8448:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --max-maf parameter '%s' too large (must be < 0.5).\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8458:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --mind parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8462:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --mind parameter '%s' (must be between 0 and 1).\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8504:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --make-grm-gz '%s' modifier cannot coexist with another IBC modifier.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8512:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --make-grm-gz parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8536:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --make-grm-bin parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8615:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --make-rel '%s' modifier cannot coexist with another IBC modifier.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8623:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --make-rel parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8654:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --make-bed cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:8660:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --make-bed doesn't accept parameters.%s\n", ((param_ct == 1) && (!outname_end))? "  (Did you forget '--out'?)" : "");
data/plink1.9-1.90~b6.21-201019/plink.c:8670:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --make-just-bim cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:8681:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --make-just-fam cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:8691:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --merge cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? ".cnv filesets" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:8724:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --merge-list cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? ".cnv filesets" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:8748:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Invalid --merge-mode parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8774:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mcovar parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8854:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --model mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:8864:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --model parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:8923:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --mperm cannot be used with --%s %sperm.\n", (model_modifier & MODEL_ASSOC)? "assoc" : "model", (model_modifier & MODEL_PERM)? "" : "m");
data/plink1.9-1.90~b6.21-201019/plink.c:8926:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --mperm cannot be used with --%s %sperm.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear", (glm_modifier & GLM_PERM)? "" : "m");
data/plink1.9-1.90~b6.21-201019/plink.c:8929:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --mperm cannot be used with --dfam %sperm.\n", (family_info.dfam_modifier & DFAM_PERM)? "" : "m");
data/plink1.9-1.90~b6.21-201019/plink.c:8932:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --mperm cannot be used with --%s %sperm.\n", (cluster.modifier & CLUSTER_CMH_BD)? "bd" : "mh", (cluster.modifier & CLUSTER_CMH_PERM)? "" : "m");
data/plink1.9-1.90~b6.21-201019/plink.c:8939:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mperm parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9000:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mc parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9012:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mcc parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9020:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mcc parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9084:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --mds-plot parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:9106:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mwithin parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9118:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --min parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9139:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --max parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9158:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --make-founders parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:9169:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --missing parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9199:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --mh mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:9211:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --mh parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:9226:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --make-set cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:9247:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --make-set-border parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9294:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --merge-x parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9320:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --me parameter '%s'.\n", argv[cur_arg + 3]);
data/plink1.9-1.90~b6.21-201019/plink.c:9326:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --me maximum per-trio error rate '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:9330:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --me maximum per-variant error rate '%s'.\n", argv[cur_arg + ujj]);
data/plink1.9-1.90~b6.21-201019/plink.c:9354:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --me-exclude-one ratio '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9370:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --mendel parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9387:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --make-perm-pheno parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9441:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --meta-analysis parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:9558:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --mac parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9567:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --max-mac parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9588:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Unrecognized flag (%s).  (This is PLINK 1.9, not 2.x.)\n", argv[cur_arg]);
data/plink1.9-1.90~b6.21-201019/plink.c:9621:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --neighbour parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9625:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --neighbour parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:9675:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --new-id-max-allele-len parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9689:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --no-snp conflicts with a --%s modifier.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear");
data/plink1.9-1.90~b6.21-201019/plink.c:9700:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --no-x-sex conflicts with a --%s modifier.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear");
data/plink1.9-1.90~b6.21-201019/plink.c:9752:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --output-chr parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9761:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --output-missing-genotype parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9825:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --oxford-single-chr chromosome code '%s'. (Did you forget --allow-extra-chr?)\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9848:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --output-min-p parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9873: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(pedname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9942:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --parallel job index '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9946:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --parallel total job count '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:9955:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ppc-gap parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9969:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --perm cannot be used with --%s mperm.\n", (model_modifier & MODEL_ASSOC)? "assoc" : "model");
data/plink1.9-1.90~b6.21-201019/plink.c:9976:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --perm cannot be used with --%s %s.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear", (glm_modifier & GLM_MPERM)? "mperm" : "no-snp");
data/plink1.9-1.90~b6.21-201019/plink.c:9983:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --perm cannot be used with --%s mperm.\n", (cluster.modifier & CLUSTER_CMH_BD)? "bd" : "mh");
data/plink1.9-1.90~b6.21-201019/plink.c:10021:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --pfilter parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10034:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --perm-batch-size parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10046:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --ppc parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10063:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --pool-size parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10171:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Unrecognized flag (%s).  (This is PLINK 1.9, not 2.x.)\n", argv[cur_arg]);
data/plink1.9-1.90~b6.21-201019/plink.c:10266:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(g_logbuf, "Error: Invalid --q-score-range parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:10301:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --qual-threshold parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10313:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --qual-max-threshold parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10329:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s 'mperm' and 'perm' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:10335:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s 'mperm' and 'perm' cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:10338:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Duplicate --%s 'mperm' modifier.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:10342:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --%s mperm parameter '%s'.\n", argptr, &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:10349:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Improper --%s mperm syntax.  (Use \"--%s mperm=<value>\".)\n", argptr, argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:10352:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --%s parameter '%s'.\n", argptr, argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:10357:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --%s requires permutation.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:10436:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --rel-cutoff parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10451:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --regress-distance jackknife iteration count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10456:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --regress-distance jackknife delete parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:10475:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --regress-rel jackknife iteration count '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:10480:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --regress-rel jackknife delete parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:10517:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: The '%s' modifier does not apply to --recode's A and AD output formats.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:10681:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --recode parameter '%s'.%s\n", argv[cur_arg + uii], ((uii == param_ct) && (!outname_end))? " (Did you forget '--out'?)" : "");
data/plink1.9-1.90~b6.21-201019/plink.c:10800:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --recessive conflicts with a --%s modifier.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear");
data/plink1.9-1.90~b6.21-201019/plink.c:10834:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(g_logbuf, "Error: --r/--r2 '%s' cannot be used with matrix output.\n", (ld_info.modifier & LD_INTER_CHR)? "inter-chr" : ((ld_info.modifier & LD_INPHASE)? "in-phase" : ((ld_info.modifier & LD_DX)? "d'/'dprime'/'dprime-signed" : "with-freqs")));
data/plink1.9-1.90~b6.21-201019/plink.c:10938:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --r/--r2 parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:10959:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --real-ref-alleles has no effect with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:10990:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --seed parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11009: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(mapname, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11066:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --set cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:11135:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s 'tags' and 'haps' modifiers cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:11141:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s 'tags' and 'haps' modifiers cannot be used together.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:11147:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s 'acgt' modifier cannot be used with '1234' or '12'.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:11153:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s '1234' modifier cannot be used with 'acgt' or '12'.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:11159:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: --%s '12' modifier cannot be used with 'acgt' or '1234'.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:11164:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --%s parameter '%s'.\n", argptr, argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11178:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --simulate-ncases parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11190:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --simulate-ncontrols parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11202:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --simulate-prevalence parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11217:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --simulate-missing parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11229:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --simulate-n parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11256:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: --sex conflicts with a --%s modifier.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear");
data/plink1.9-1.90~b6.21-201019/plink.c:11319:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --set-p parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11339:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --set-r2 parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:11345:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --set-r2 parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11368:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --set-max parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11380:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --set-test-lambda parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11408:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --snps-only parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11452:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Unrecognized --split-x build code '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11461:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --split-x parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11465:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --split-x parameter '%s'.\n", argv[cur_arg + ujj]);
data/plink1.9-1.90~b6.21-201019/plink.c:11477:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --set-missing-var-ids cannot be used with %s.\n", (load_rare == LOAD_RARE_CNV)? "a .cnv fileset" : "--dosage");
data/plink1.9-1.90~b6.21-201019/plink.c:11556:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf(g_logbuf, "Error: Invalid --score parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:11643:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --tail-pheno parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11650:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --tail-pheno parameter '%s'.\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:11664:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --threads parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11784:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --to-bp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11793:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --to-kb/-mb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11833:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --thin variant retention probability '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11858:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --thin-count parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11867:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Invalid --thin-indiv %s retention probability '%s'.\n", g_species_singular, argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11886:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Invalid --thin-indiv-count parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11950:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --test-missing mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:11962:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Invalid --test-missing parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:12016:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --tdt mperm parameter '%s'.\n", &(argv[cur_arg + uii][6]));
data/plink1.9-1.90~b6.21-201019/plink.c:12050:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --tdt parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:12084:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --tag-kb parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12101:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --tag-r2 threshold '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12122:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --tucc parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12173:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --unrelated-heritability EM tolerance parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:12177:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid --unrelated-heritability EM tolerance parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:12182:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Invalid --unrelated-heritability genomic covariance prior '%s'.\n", argv[cur_arg + uii + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12186:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(g_logbuf, "Error: Invalid --unrelated-heritability genomic covariance prior '%s'.\n", argv[cur_arg + uii + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12191:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --unrelated-heritability residual covariance prior '%s'.\n", argv[cur_arg + uii + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:12195:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		  sprintf(g_logbuf, "Error: Invalid --unrelated-heritability residual covariance prior '%s'.\n", argv[cur_arg + uii + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:12278:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Multi-parameter --update-map cannot be used with deprecated\nparameter-free --update-%s.\n", (update_map_modifier == 1)? "chr" : "cm");
data/plink1.9-1.90~b6.21-201019/plink.c:12361:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --update-sex column parameter '%s'.  (This must be a positive integer.)\n", argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:12389:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --linear/--epistasis VIF threshold '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12393:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --linear/--epistasis VIF threshold '%s' too small (must be >= 1).\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12428:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --vcf-min-qual parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12454:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --vcf-min-gp parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12473:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --vcf-min-gq parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12514:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: '%s' is not a valid mode for --vcf-half-call.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12538:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --write-var-ranges parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12551:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --window parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12616:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --with-phenotype parameter '%s'.\n", argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:12650:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Invalid --write-cluster parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12712:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: --xchr-model cannot be used with --%s %s.\n", (glm_modifier & GLM_LOGISTIC)? "logistic" : "linear", (glm_modifier & GLM_GENOTYPIC)? "genotypic" : ((glm_modifier & GLM_HETHOM)? "hethom" : ((glm_modifier & GLM_DOMINANT)? "dominant" : "recessive")));
data/plink1.9-1.90~b6.21-201019/plink.c:12719:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Invalid --xchr-model parameter '%s'.\n", argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12759:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(g_logbuf, "Error: --%s doesn't accept parameters.\n", argptr);
data/plink1.9-1.90~b6.21-201019/plink.c:12869:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Deprecated parameter-free --update-%s cannot be used without\n--update-map.\n", (update_map_modifier == 1)? "chr" : "cm");
data/plink1.9-1.90~b6.21-201019/plink.c:12873:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: --merge-x/--split-x/--update-chr/--set-me-missing/--fill-missing-a2\nmust be used with --%s and no other commands.\n", (load_rare == LOAD_RARE_CNV)? "cnv-write" : "make-bed");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:427:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_textbuf, " CHR %%%us      UNADJ %s", plink_maxsnp, skip_gc? "" : "        GC ");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:428:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:435:5:  [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(outfile, g_textbuf, "SET");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6216:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Writing C/C --assoc report to %s ... ", outname);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6221:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6270:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Writing --model report to %s ... ", outname);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6286:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7674:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8285:5:  [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(outfile_qtm, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8294: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9014:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9373: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10122: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10680:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11111: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11728: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3304:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".dist%s.%d", varsuffix, parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3306:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".dist%s", varsuffix);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3308:5:  [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(g_textbuf, outname_end);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3315:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".mibs%s.%d", varsuffix, parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3317:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".mibs%s", varsuffix);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3319:5:  [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(&(g_textbuf[MAX_POST_EXT]), outname_end);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3326:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".mdist%s.%d", varsuffix, parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3328:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(outname_end, ".mdist%s", varsuffix);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3330:5:  [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(&(g_textbuf[MAX_POST_EXT * 2]), outname_end);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3341:5:  [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(outname_end, g_textbuf);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3342:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Distances (allele counts) written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3344:5:  [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(outname_end, &(g_textbuf[MAX_POST_EXT]));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3345:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "IBS matrix written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3347:5:  [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(outname_end, &(g_textbuf[MAX_POST_EXT * 2]));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3348:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Distances (proportions) written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4296:19:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
      sptr_cur += sprintf(sptr_cur, g_textbuf, " FID1", " IID1", " FID2", " IID2");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6945:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(wptr, " , and IDs written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6947:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Relationship matrix component written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8073:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(wptr, " , and IDs to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8075:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Distances (proportions) written to %s .\n", outname);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:216:15:  [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(&(sorted_keep_ids[uii * max_cluster_kr_len]), &(sorted_keep_ids[read_idx * max_cluster_kr_len]));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:380: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(&(cluster_ids[ulii * max_cluster_id_len]), cluster_names->ss);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3115: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(outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3424: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(outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:130:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, cift_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:141:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s file has fewer tokens than expected.\n", line_idx, cift_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:165:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of %s.\n", line_idx, cift_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:169:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of %s.\n", line_idx, cift_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:222:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Empty %s.\n", cift_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:999:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Autogenerating missing %s ... ", mapname);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:1010:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Generating %s ... ", outname);
data/plink1.9-1.90~b6.21-201019/plink_common.c:8143:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Duplicate --%s token in %s.\n", range_list_flag, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_common.c:8173:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Missing --%s token in %s.\n", range_list_flag, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_common.c:8240:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Second element of --%s range appears before first.\n", range_list_flag);
data/plink1.9-1.90~b6.21-201019/plink_common.c:8250:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: --%s ID not found.\n", range_list_flag);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10349: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(&(sorted_ids[write_idx * max_id_len]), &(sorted_ids[read_idx * max_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_common.c:10362: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(&(sorted_ids[write_idx * max_id_len]), &(sorted_ids[read_idx * max_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_common.h:984:24:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGPRINTF(...) sprintf(g_logbuf, __VA_ARGS__); logprintb();
data/plink1.9-1.90~b6.21-201019/plink_common.h:986:27:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGERRPRINTF(...) sprintf(g_logbuf, __VA_ARGS__); logerrprintb();
data/plink1.9-1.90~b6.21-201019/plink_common.h:994:29:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGPREPRINTFWW(...) sprintf(g_logbuf, __VA_ARGS__); wordwrapb(0);
data/plink1.9-1.90~b6.21-201019/plink_common.h:996:26:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGPRINTFWW(...) sprintf(g_logbuf, __VA_ARGS__); wordwrapb(0); logprintb();
data/plink1.9-1.90~b6.21-201019/plink_common.h:998:29:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGERRPRINTFWW(...) sprintf(g_logbuf, __VA_ARGS__); wordwrapb(0); logerrprintb();
data/plink1.9-1.90~b6.21-201019/plink_common.h:1001:27:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define LOGPRINTFWW5(...) sprintf(g_logbuf, __VA_ARGS__); wordwrapb(5); logprintb();
data/plink1.9-1.90~b6.21-201019/plink_common.h:2111: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(fname_end, fname_append);
data/plink1.9-1.90~b6.21-201019/plink_common.h:2116: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(fname_end, fname_append);
data/plink1.9-1.90~b6.21-201019/plink_data.c:558:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:573:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Multiple #CHROM header lines in %s.\n", ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:601:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Header lines are not permitted in %ss.\n", ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:648:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Comma-containing allele code on line %" PRIuPTR " of %s.\n", line_idx, ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:780:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No variants in %s.\n", ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:953:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: %s has a split chromosome.  Use --%s by itself to\nremedy this.\n", ftype_str, split_chrom_cmd);
data/plink1.9-1.90~b6.21-201019/plink_data.c:990:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: Invalid centimorgan position on line %" PRIuPTR " of %s.\n", line_idx, ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1123:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: --set-missing-var-ids requires a sorted %s.  Retry this command\nafter using --make-bed to sort your data.\n", ftype_str);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1579:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--covar: %" PRIuPTR " covariate%s loaded.\n", covar_ct, (covar_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_data.c:1655:6:  [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(&(covar_names[uii * max_covar_name_len]), &(covar_names[covar_idx * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_data.c:2594:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--update-chr: %" PRIuPTR " value%s updated, %" PRIuPTR " variant ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_data.c:2596:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--update-chr: %" PRIuPTR " value%s updated.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_data.c:5448:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Warning: Variant %" PRIuPTR "%s %sallelic; setting rarest missing.\n", marker_idx + 1, map_is_unsorted? " (post-sort)" : "", (uii? "quad" : "tri"));
data/plink1.9-1.90~b6.21-201019/plink_data.c:5525:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Performing single-pass .bed write (%" PRIuPTR " variant%s, %" PRIuPTR " %s).\n", marker_ct, (marker_ct == 1)? "" : "s", sample_ct, species_str(sample_ct));
data/plink1.9-1.90~b6.21-201019/plink_data.c:5538:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Performing %u-pass .bed write (%u/%" PRIuPTR " variant%s/pass, %" PRIuPTR " %s).\n", pass_ct, markers_per_pass, marker_ct, (markers_per_pass == 1)? "" : "s", sample_ct, species_str(sample_ct));
data/plink1.9-1.90~b6.21-201019/plink_data.c:6073:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: No %s in .ped file.\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6107:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Warning: Variant %" PRIuPTR "%s %sallelic; setting rarest alleles missing.\n", marker_idx + 1, map_is_unsorted? " (post-sort)" : "", (cc? "quad" : "tri"));
data/plink1.9-1.90~b6.21-201019/plink_data.c:6187:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Performing single-pass .bed write (%" PRIuPTR " variant%s, %" PRIuPTR " %s).\n", marker_ct, (marker_ct == 1)? "" : "s", sample_ct, species_str(sample_ct));
data/plink1.9-1.90~b6.21-201019/plink_data.c:6200:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Performing %u-pass .bed write (%u/%" PRIuPTR " variant%s/pass, %" PRIuPTR " %s).\n", pass_ct, markers_per_pass, marker_ct, (markers_per_pass == 1)? "" : "s", sample_ct, species_str(sample_ct));
data/plink1.9-1.90~b6.21-201019/plink_data.c:7146:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No %s in .tfam file.\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9394: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(&(contigdict[ulii * max_contig_len]), contig_list->ss);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10062:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, infile_name);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10088:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid chromosome code on line %" PRIuPTR " of %s.\n", line_idx, infile_name);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10989:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --simulate%s file is pathologically long.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:10997:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Invalid SNP count on line %" PRIuPTR " of --simulate%s input file.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11006:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: --simulate%s input file specifies zero SNPs.\n", is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11009:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: --simulate%s input file specifies too many SNPs.\n", is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11034:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --simulate%s file has fewer tokens than expected.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11038:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --simulate%s file has more tokens than expected.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11050:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Invalid allele frequency bound on line %" PRIuPTR " of --simulate%s\nfile.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11056:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid marker allele frequency bound on line %" PRIuPTR " of\n--simulate%s file.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:11060:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid d-prime on line %" PRIuPTR " of --simulate%s input file.\n", line_idx, is_qt? "-qt" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:12365:9:  [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(&(writebuf3[fid_ct * max_fid_len]), &(writebuf3[ulii * max_fid_len]));
data/plink1.9-1.90~b6.21-201019/plink_data.c:13206:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--recode beagle to %s*.dat + %s*.map... ", outname, outname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13517:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--recode fastphase%s to %s.recode.phase.inp ... ", (recode_modifier & RECODE_FASTPHASE)? "" : "-1chr", outname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13882:5:  [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(outname_end, rlist? ".rlist" : ".list");
data/plink1.9-1.90~b6.21-201019/plink_data.c:13897:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--recode rlist to %s.rlist + %s.map + %s.fam ... ", outname, outname, outname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13899:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--recode list to %s ... ", outname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14081:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--recode HV to %s*.ped + .info... ", outname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14315:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--recode fastphase%s complete.\n", (recode_modifier & RECODE_FASTPHASE_1CHR)? "-1chr" : "");
data/plink1.9-1.90~b6.21-201019/plink_data.c:14716:5:  [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(&(sample_ids[sample_uidx * max_sample_id_len]), &(sample_fids[sample_uidx * max_sample_full_len]));
data/plink1.9-1.90~b6.21-201019/plink_data.c:15041:5:  [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(id_arr_ptr, cur_ptr->ss);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16237:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Too many %s (max 2147483647).\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16243:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Too many %s for 32-bit " PROG_NAME_CAPS ".\n", g_species_plural);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16281:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(&(sample_fids[ujj * max_sample_full_len]), llfam_ptr->idstr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16311:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(bufptr, llfam_ptr->idstr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16550: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(&(marker_ids[ulii * max_marker_id_len]), llbim_ptr->idstr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16660:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Performing single-pass merge (%u %s, %u variant%s).\n", tot_sample_ct, species_str(tot_sample_ct), dedup_marker_ct, (dedup_marker_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_data.c:16662:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Performing %u-pass merge (%u %s, %" PRIuPTR "/%u variant%s per pass).\n", pass_ct, tot_sample_ct, species_str(tot_sample_ct), markers_per_pass, dedup_marker_ct, (dedup_marker_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1113:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Among remaining phenotypes, %u %s and %u %s.  (%" PRIuPTR " phenotype%s missing.)\n", pheno_nm_ct - pheno_ctrl_ct, (pheno_nm_ct - pheno_ctrl_ct == 1)? "is a case" : "are cases", pheno_ctrl_ct, (pheno_ctrl_ct == 1)? "is a control" : "are controls", sample_ct - pheno_nm_ct, (sample_ct - pheno_nm_ct == 1)? " is" : "s are");
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1115:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Among remaining phenotypes, %u %s and %u %s.\n", pheno_nm_ct - pheno_ctrl_ct, (pheno_nm_ct - pheno_ctrl_ct == 1)? "is a case" : "are cases", pheno_ctrl_ct, (pheno_ctrl_ct == 1)? "is a control" : "are controls");
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1609:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, &(sep_fnames[(file_idx + file_idx_start) * max_sepheader_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1617:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s has fewer tokens than expected.\n", line_idx, &(sep_fnames[(file_idx + file_idx_start) * max_sepheader_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1627:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: '%s' appears multiple times.\n", bufptr);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1642:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: %s is empty.\n", &(sep_fnames[(file_idx + file_idx_start) * max_sepheader_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1670:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(g_logbuf, "Error: %s is empty.\n", &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1685:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Column %u of %s's header isn't 'SNP'.\n", skip0 + 1, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1688:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Column %u of %s's header isn't 'A1'.\n", skip0 + skip1p1 + 1, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1697:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Column %u of %s's header isn't 'A2'.\n", skip0 + skip1p1 + 2, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1704:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Header of %s has an odd number of tokens in the FID/IID section.\n", &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1714:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	      sprintf(g_logbuf, "Error: '%s' appears multiple times.\n", bufptr);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1725:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Header of %s has no tokens in the FID/IID section.\n", &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1770:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s has an excessively long variant ID.\n", line_idx, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1815:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Variant ID mismatch between line %" PRIuPTR " of %s and line %" PRIuPTR " of %s.\n", line_idx_arr[0], &(fnames[file_idx_start * max_fn_len]), line_idx, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1819:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Allele code mismatch between line %" PRIuPTR " of %s and line %" PRIuPTR " of %s.\n", line_idx_arr[0], &(fnames[file_idx_start * max_fn_len]), line_idx, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2209:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_textbuf, "%%%us %%%us  PHENO%s %s\n", plink_maxfid, plink_maxiid, dosage_score_cnt? "    CNT" : "", score_report_average? "   SCORE" : "SCORESUM");
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2210:7:  [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(profile_outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2329:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s has fewer tokens than expected.\n", line_idx, &(fnames[(file_idx + file_idx_start) * max_fn_len]));
data/plink1.9-1.90~b6.21-201019/plink_family.c:374:7:  [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(&(iids[sample_uidx * max_iid_len]), &(iidptr[1]));
data/plink1.9-1.90~b6.21-201019/plink_family.c:829:7:  [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(outfile, g_textbuf, "FID", "KID", "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:837:5:  [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(outfile_l, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:1068:5:  [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(outfile, g_textbuf, "FID", "PAT", "MAT");
data/plink1.9-1.90~b6.21-201019/plink_family.c:1126:5:  [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(outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_family.c:1387:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(last_family_id, cur_family_id);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1509: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(cur_sample_id, &(sample_ids[kk * max_sample_id_len + jj]));
data/plink1.9-1.90~b6.21-201019/plink_family.c:1578: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(cur_sample_id, &(stray_parent_ids[ii * max_pm_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_family.c:1804: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(outfile, textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:2226: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(outfile, textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:4344: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(outfile, textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:4868:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:5670: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_family.c:5870:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(g_textbuf, emp_se? " CHR %%%us         BETA     EMP_BETA       EMP_SE         EMP1           NP \n" : " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:5871: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:103:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --%s file is pathologically long.\n", line_idx, keep_or_remove_flag_str(flags));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:112:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --%s file has fewer tokens than expected.\n", line_idx, keep_or_remove_flag_str(flags));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:215:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: --%ssnps variant '%s' not found.\n", do_exclude? "exclude-" : "", cur_varid);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:375:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Excessively long ID in --%s file.\n", do_exclude? "exclude" : "extract");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:997:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--qual-scores: %" PRIuPTR " variant%s remaining, %" PRIuPTR " ID%s missing.\n", marker_ct, (marker_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:999:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--qual-scores: %" PRIuPTR " variant%s remaining.\n", marker_ct, (marker_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1274:5:  [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(&(cluster_ids[ulii * max_cluster_id_len]), cluster_names->ss);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2604:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(g_textbuf, " CHR %%%us   N_MISS   N_GENO   F_MISS" EOLN_STR, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2627:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(g_textbuf, " CHR %%%us       CLST   N_MISS   N_CLST   N_GENO   F_MISS" EOLN_STR, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2630:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  pzwritep += sprintf(pzwritep, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2777:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(g_textbuf, "%%%us %%%us MISS_PHENO   N_MISS   N_GENO   F_MISS" EOLN_STR, plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2778:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  pzwritep += sprintf(pzwritep, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2945:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(writebuf, " CHR %%%us     TEST   A1   A2                 GENO   O(HET)   E(HET)            P " EOLN_STR, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2946:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  pzwritep += sprintf(pzwritep, writebuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:202:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--condition-list: %" PRIuPTR " of %" PRIuPTR " variant ID%s loaded from %s.\n", condition_ct, condition_ct + miss_ct, (condition_ct + miss_ct == 1)? "" : "s", condition_fname);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:204:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "--condition-list: %" PRIuPTR " variant ID%s loaded from %s.\n", condition_ct, (condition_ct == 1)? "" : "s", condition_fname);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4625:7:  [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(&(param_names[param_idx * max_param_name_len]), &(marker_ids[marker_uidx * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4643:7:  [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(&(param_names[param_idx * max_param_name_len]), &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4673: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(wptr, &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4684:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(wptr, &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4733:7:  [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(&(haploid_param_names[param_idx * max_param_name_len]), &(param_names[uii * max_param_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4946: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5528:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6154:7:  [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(&(param_names[param_idx * max_param_name_len]), &(marker_ids[marker_uidx * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6171:7:  [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(&(param_names[param_idx * max_param_name_len]), &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6201: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(wptr, &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6212:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(wptr, &(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6260:7:  [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(&(haploid_param_names[param_idx * max_param_name_len]), &(param_names[uii * max_param_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6430:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(g_textbuf, " CHR %%%us         BP   A1       TEST    NMISS       %s ", plink_maxsnp, report_odds? "  OR" : "BETA");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6431: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6966:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7368:7:  [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(&(param_names[param_idx * max_param_name_len]), &(marker_ids[marker_uidx * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7440:7:  [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(&(param_names[param_idx * max_param_name_len]), &(covar_names[ujj * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8239:7:  [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(&(param_names[param_idx * max_param_name_len]), &(marker_ids[marker_uidx * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8279:7:  [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(&(param_names[param_idx * max_param_name_len]), &(covar_names[ujj * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_help.c:95:5:  [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(g_textbuf, cur_params);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:452: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(outfile, g_textbuf, "FID", "IID", "SNP1", "SNP2");
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:458: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(outfile_indiv, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:577: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:1908:2:  [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(outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2231: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(outfile, g_textbuf, "FID", "IID", "SNP1", "SNP2");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:2371:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(g_logbuf, "--r%s %s%s to %s ... ", g_ld_is_r2? "2" : "", is_square? "square" : (is_square0? "square0" : "triangle"), is_binary? (output_single_prec? " bin4" : " bin") : (output_gz? " gz" : ""), outname);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:5936:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(g_logbuf, "--r%s%s%s%s to %s ... ", g_ld_is_r2? "2" : "", is_inter_chr? " inter-chr" : "", g_ld_marker_allele_ptrs? " in-phase" : "", g_ld_set_allele_freqs? " with-freqs" : "", outname);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6521:5:  [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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9446:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: --%sepistasis set-by-%s requires a variant set to be loaded.\n", is_fast? "fast-" : "", is_set_by_set? "set" : "all");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9477:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: --%sepistasis requires at least two cases%s.\n", is_fast? "fast-" : "", is_case_only? "" : " and two controls");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9625:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Too few loci remaining for --parallel %u %u + --%sepistasis.\n", parallel_idx + 1, parallel_tot, is_fast? "fast-" : "");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11423: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(outfile, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13984:7:  [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(&(sorted_missing_variant_ids[ulii * max_missing_id_len]), cm_ptr->idstr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:748:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-cm: %" PRIuPTR " value%s changed, %" PRIuPTR " variant ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:750:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-cm: %" PRIuPTR " value%s changed.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:880:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-map: %" PRIuPTR " value%s updated, %" PRIuPTR " variant ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:882:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-map: %" PRIuPTR " value%s updated.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1014:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-name: %" PRIuPTR " value%s updated, %" PRIuPTR " variant ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1016:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-name: %" PRIuPTR " value%s updated.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1178:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-alleles: %" PRIuPTR " variant%s updated, %" PRIuPTR " ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1180:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-alleles: %" PRIuPTR " variant%s updated.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1335:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--flip: %" PRIuPTR " SNP%s flipped, %" PRIuPTR " SNP ID%s not present.\n", hit_ct, (hit_ct == 1)? "" : "s", miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1337:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--flip: %" PRIuPTR " SNP%s flipped.\n", hit_ct, (hit_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1430:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-ids: %" PRIuPTR " %s updated, %" PRIuPTR " ID%s not present.\n", hit_ct, species_str(hit_ct), miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1432:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-ids: %" PRIuPTR " %s updated.\n", hit_ct, species_str(hit_ct));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1531:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-parents: %" PRIuPTR " %s updated, %" PRIuPTR " ID%s not present.\n", hit_ct, species_str(hit_ct), miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1533:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-parents: %" PRIuPTR " %s updated.\n", hit_ct, species_str(hit_ct));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1646:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-sex: %" PRIuPTR " %s updated, %" PRIuPTR " ID%s not present.\n", hit_ct, species_str(hit_ct), miss_ct, (miss_ct == 1)? "" : "s");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1648:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "--update-sex: %" PRIuPTR " %s updated.\n", hit_ct, species_str(hit_ct));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2491:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(g_textbuf, " CHR %%%us     CLST   A1   A2      MAF    MAC  NCHROBS" EOLN_STR, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2492:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  pzwritep += sprintf(pzwritep, g_textbuf, "SNP");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3179:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(g_textbuf, "%%%us %%%us       PEDSEX       SNPSEX       STATUS%s%s\n", plink_maxfid, plink_maxiid, yonly? "" : "            F", check_y? "   YCOUNT" : "");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3180: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(outfile, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3888:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  pzwritep += sprintf(pzwritep, g_textbuf, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4854:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(tbuf2, "%%%us %%%us  PHENO    CNT   CNT2 %s\n", plink_maxfid, plink_maxiid, report_average? "   SCORE" : "SCORESUM");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4855: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(outfile, tbuf2, "FID", "IID");
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4968:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: %s is empty.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4973:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5082:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s has too many columns.\n", line_idx, fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5094:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No variant ID field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5097:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No effect size field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5100:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No standard error field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5103:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No p-value field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5106:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: No effective sample size field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5110:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: No CHR field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5113:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: No BP field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5116:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: No A1 allele field found in %s.\n", fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5151:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Duplicate column header '%s' in %s.\n", bufptr, fname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5638:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, fname_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5673:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s has an excessively long variant ID.\n", line_idx, fname_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6058:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(bufptr2, bufptr);
data/plink1.9-1.90~b6.21-201019/plink_set.c:304:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s file is pathologically long.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:319:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s file has fewer tokens than expected.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:336:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Invalid chromosome code on line %" PRIuPTR " of %s file.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:419:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(&(set_names[ulii * max_set_id_len]), make_set_ll->ss);
data/plink1.9-1.90~b6.21-201019/plink_set.c:425:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(&(set_names[ulii * max_set_id_len + 2]), make_set_ll->ss);
data/plink1.9-1.90~b6.21-201019/plink_set.c:447:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s file is pathologically long.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:462:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s file has fewer tokens than expected.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:472:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid chromosome code on line %" PRIuPTR " of %s file.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:492:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid range start position on line %" PRIuPTR " of %s file.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:497:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Invalid range end position on line %" PRIuPTR " of %s file.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:501:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Range end position smaller than range start on line %" PRIuPTR " of %s file.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2365:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, file_descrip);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2525:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: %s is empty.\n", aip->snps_fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2575:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, aip->attrib_fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2607:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	        sprintf(g_logbuf, "Error: Too many unique attributes in %s (max 2147483648).\n", aip->attrib_fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2635:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: No attributes in %s.\n", aip->attrib_fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2650:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(&(sorted_attr_ids[ulii * max_attr_id_len]), ll_ptr->ss);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2746:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(g_logbuf, "Error: Too many annotations in %s (max 2147483648, counting multi-chromosome annotations once per spanned chromosome).\n", aip->ranges_fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2796: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(&(merged_attr_ids[uljj * uii]), &(range_names[uljj * max_range_name_len + 4]));
data/plink1.9-1.90~b6.21-201019/plink_set.c:2801:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	  strcpy(&(merged_attr_ids[uljj * uii]), &(sorted_attr_ids[ujj * max_attr_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_set.c:2831:6:  [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(bufptr, &(merged_attr_ids[uljj * uii]));
data/plink1.9-1.90~b6.21-201019/plink_set.c:2901:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
          sprintf(g_logbuf, "Error: Duplicate column header '%s' in %s.\n", bufptr, aip->fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2913:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Missing column header%s in %s.\n", (seq_idx + 1 == token_ct)? "" : "s", aip->fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2961:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of %s is pathologically long.\n", line_idx, aip->fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3382:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Too many genes in %s (max 2147483648).\n", glist);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3474:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(g_logbuf, "Error: Duplicate column header '%s' in %s.\n", bufptr, fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3486:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(g_logbuf, "Error: Missing column header%s in %s.\n", (seq_idx + 1 == token_ct)? "" : "s", fname);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3593:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(g_logbuf, "Error: Too many valid lines in %s (--gene-report can only handle 4294967296).\n", fname);
data/plink1.9-1.90~b6.21-201019/prettify.c:81:5:  [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, errstr_fopen, fname);
data/plink1.9-1.90~b6.21-201019/sisocks.h:104:5:  [4] (format) snprintf:
  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.
int snprintf(char *buf, int len, char *fmt, ...)
data/plink1.9-1.90~b6.21-201019/sisocks.h:110:10:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
   cnt = vsprintf(buf, fmt, argptr);
data/plink1.9-1.90~b6.21-201019/sisocks.h:116:12:  [4] (format) snprintf:
  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.
extern int snprintf(char *buf, int len, char *fmt, ...);
data/plink1.9-1.90~b6.21-201019/plink.c:470:10:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
    if (!realpath(bedname, g_textbuf))
data/plink1.9-1.90~b6.21-201019/plink_data.c:6395:11:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
  return (realpath(outname, write_realpath_buf) && (!strcmp(read_realpath, write_realpath_buf)));
data/plink1.9-1.90~b6.21-201019/plink_data.c:6913:8:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
  if (!realpath(famname, g_textbuf))
data/plink1.9-1.90~b6.21-201019/prettify.c:565:10:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
    if (!realpath(argv[infile_param_idx], pathbuf))
data/plink1.9-1.90~b6.21-201019/prettify.c:575:12:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
    cptr = realpath(outname, &(pathbuf[FNAMESIZE + 64]));
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:145: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(data, (raw_data)?buf:((char*)buf+4), dlen);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:274: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(this->data, data, len);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:344:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf+hl, data, len);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:587: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(session_key, session->key(), 32);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:602: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 IDstring[33];
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:850:23:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    if (msg->len > 0) memcpy(buf, msg->data, msg->len);
data/plink1.9-1.90~b6.21-201019/Rconnection.h:375: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 key_[32];
data/plink1.9-1.90~b6.21-201019/Rconnection.h:378:20:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    Rsession(const char *host, int port, const char key[32]) {
data/plink1.9-1.90~b6.21-201019/Rconnection.h:378:48:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    Rsession(const char *host, int port, const char key[32]) {
data/plink1.9-1.90~b6.21-201019/Rconnection.h:381: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(key_, key, 32);
data/plink1.9-1.90~b6.21-201019/Rconnection.h:400: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 salt[2];
data/plink1.9-1.90~b6.21-201019/Rsrv.h:391:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 int itop(unsigned int i) { char b[4]; b[0]=((char*)&i)[3]; b[3]=((char*)&i)[0]; b[1]=((char*)&i)[2]; b[2]=((char*)&i)[1]; return *((unsigned int*)b); }
data/plink1.9-1.90~b6.21-201019/Rsrv.h:392:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
double dtop(double i) { char b[8]; b[0]=((char*)&i)[7]; b[1]=((char*)&i)[6]; b[2]=((char*)&i)[5]; b[3]=((char*)&i)[4]; b[7]=((char*)&i)[0]; b[6]=((char*)&i)[1]; b[5]=((char*)&i)[2]; b[4]=((char*)&i)[3]; return *((double*)b); }
data/plink1.9-1.90~b6.21-201019/bgzf.c:247: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(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block
data/plink1.9-1.90~b6.21-201019/bgzf.c:377: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(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/bgzf.c:411:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/bgzf.c:470: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(cblock, header, sizeof(header));
data/plink1.9-1.90~b6.21-201019/bgzf.c:526: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(compressed_block, header, BLOCK_HEADER_LENGTH);
data/plink1.9-1.90~b6.21-201019/bgzf.c:564: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(output, buffer + fp->block_offset, copy_length);
data/plink1.9-1.90~b6.21-201019/bgzf.c:617: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(w->mt->blk[i], w->buf, clen);
data/plink1.9-1.90~b6.21-201019/bgzf.c:683: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(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset);
data/plink1.9-1.90~b6.21-201019/bgzf.c:781:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buffer + fp->block_offset, input, copy_length);
data/plink1.9-1.90~b6.21-201019/bgzf.c:920: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(str->s + str->l, buf + fp->block_offset, l);
data/plink1.9-1.90~b6.21-201019/bgzf.c:981: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(tmp,bname,blen);
data/plink1.9-1.90~b6.21-201019/bgzf.c:982: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(tmp+blen,suffix,slen+1);
data/plink1.9-1.90~b6.21-201019/bgzf.c:985:17:  [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 *idx = fopen(tmp?tmp:bname,"wb");
data/plink1.9-1.90~b6.21-201019/bgzf.c:1028: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(tmp,bname,blen);
data/plink1.9-1.90~b6.21-201019/bgzf.c:1029: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(tmp+blen,suffix,slen+1);
data/plink1.9-1.90~b6.21-201019/bgzf.c:1032:17:  [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 *idx = fopen(tmp?tmp:bname,"rb");
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1443:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1600:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T4 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1648:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T10 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1684:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T14 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1715:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1808:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:1972:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T5 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2008:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T9 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2041:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T12 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2083:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2169:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2294:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T6 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2334:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T10 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2369:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2465:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2553:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T5 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2584:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T9 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2614:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T12 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2641:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2734:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2855:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T6 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2891:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T10 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2927:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T14 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:2958:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3064:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3162:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T5 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3193:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T9 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3224:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T13 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3254:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T16 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3281:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3380:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3530:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T7 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3580:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3682:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3840:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T6 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3875:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T9 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3908:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T12 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:3951:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4236:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4346:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T6 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4381:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T9 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4412:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4491:9:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define atol (1.0e-50)
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4594:14:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T6 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4630:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        T10 = atol;
data/plink1.9-1.90~b6.21-201019/dcdflib.c:4661:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#undef atol
data/plink1.9-1.90~b6.21-201019/hfile.c:144: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(buffer, fp->begin, n);
data/plink1.9-1.90~b6.21-201019/hfile.c:173: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(dest, fp->begin, n);
data/plink1.9-1.90~b6.21-201019/hfile.c:235: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(fp->begin, src, remaining);
data/plink1.9-1.90~b6.21-201019/hfile.c:423:14:  [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).
    int fd = open(filename, hfile_oflags(mode), 0666);
data/plink1.9-1.90~b6.21-201019/hfile.h:153: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(buffer, fp->begin, n);
data/plink1.9-1.90~b6.21-201019/hfile.h:180: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(fp->begin, text, n);
data/plink1.9-1.90~b6.21-201019/hfile.h:197: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(fp->begin, buffer, n);
data/plink1.9-1.90~b6.21-201019/hts.h:176: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.
extern const unsigned char seq_nt16_table[256];
data/plink1.9-1.90~b6.21-201019/pigz.c:360: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(overflow_buf, write_ptr, overflow_ct);
data/plink1.9-1.90~b6.21-201019/pigz.c:372:23:  [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).
    ps_ptr->outfile = fopen(out_fname, do_append? "ab" : "wb");
data/plink1.9-1.90~b6.21-201019/pigz.c:435: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(writep, readp, cur_write_space);
data/plink1.9-1.90~b6.21-201019/pigz.c:454: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(writep, readp, sslen);
data/plink1.9-1.90~b6.21-201019/pigz.c:699:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 head[30];
data/plink1.9-1.90~b6.21-201019/pigz.c:717:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 tail[46];
data/plink1.9-1.90~b6.21-201019/pigz.c:1331:14:  [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).
    g.outd = open(g.outf, O_WRONLY | (do_append? O_APPEND : (O_CREAT | O_TRUNC)), 0644);
data/plink1.9-1.90~b6.21-201019/pigz.c:1345: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(next->buf, overflow_buf, PIGZ_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/pigz.c:1349: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(next->buf, overflow_buf, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1370: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(next->buf, read_ptr, PIGZ_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/pigz.c:1376:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	        memcpy(overflow_buf, read_ptr, overflow_ct);
data/plink1.9-1.90~b6.21-201019/pigz.c:1380:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	        memcpy(next->buf, overflow_buf, PIGZ_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/pigz.c:1384:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	        memcpy(next->buf, overflow_buf, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1411:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dict->buf, job->out->buf + (job->out->len - len), len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1412:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dict->buf + len, curr->buf, curr->len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1448:20:  [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).
    ps_ptr->outd = open(out_fname, O_WRONLY | (do_append? O_APPEND : (O_CREAT | O_TRUNC)), 0644);
data/plink1.9-1.90~b6.21-201019/pigz.c:1462:14:  [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).
    g.outd = open(g.outf, O_WRONLY | (do_append? O_APPEND : (O_CREAT | O_TRUNC)), 0644);
data/plink1.9-1.90~b6.21-201019/pigz.c:1516: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(ps_ptr->next->buf, readp, PIGZ_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/pigz.c:1521: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(ps_ptr->next->buf, readp, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1530: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(ps_ptr->overflow_buf, readp, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1547: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(ps_ptr->next->buf, readp, PIGZ_BLOCK_SIZE);
data/plink1.9-1.90~b6.21-201019/pigz.c:1551: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(ps_ptr->next->buf, readp, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1567:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ps_ptr->dict->buf, job->out->buf + (job->out->len - len), len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1568:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ps_ptr->dict->buf + len, curr->buf, curr->len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1588: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(ps_ptr->overflow_buf, readp, cur_len);
data/plink1.9-1.90~b6.21-201019/pigz.c:1602: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(writep, readp, delta);
data/plink1.9-1.90~b6.21-201019/pigz.c:1617: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(writep, readp, sslen);
data/plink1.9-1.90~b6.21-201019/pigz.c:1688:19:  [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* outfile = fopen(out_fname, do_append? "a" : "w");
data/plink1.9-1.90~b6.21-201019/pigz.c:1727: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(overflow_buf, write_ptr, overflow_ct);
data/plink1.9-1.90~b6.21-201019/plink.c:481: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:485: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(g_textbuf, bedname, uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:486: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(&(bedname[uii]), "~", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:492: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(g_textbuf, bimname, uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:493: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(&(bimname[uii]), "~", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:499: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(g_textbuf, famname, uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:500: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(&(famname[uii]), "~", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:518: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(outname_end, "-merge", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:526: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(memcpya(bedname, outname, uljj), ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:527: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(memcpya(famname, bedname, uljj), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:528: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(memcpya(bimname, bedname, uljj), ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:542:15:  [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).
    bedfile = fopen(bedname, FOPEN_RB);
data/plink1.9-1.90~b6.21-201019/plink.c:625: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(orig_pheno_nm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink.c:630: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(orig_pheno_c, pheno_c, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink.c:636: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(orig_pheno_d, pheno_d, unfiltered_sample_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink.c:952:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid .bed file size (expected %" PRId64 " bytes).\n", llyy);
data/plink1.9-1.90~b6.21-201019/plink.c:958:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".bed.vmaj"); // not really temporary
data/plink1.9-1.90~b6.21-201019/plink.c:1170:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Too many --parallel jobs (maximum %" PRIuPTR "/2 = %" PRIuPTR ").\n", sample_ct, sample_ct / 2);
data/plink1.9-1.90~b6.21-201019/plink.c:1611: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(pheno_nm_datagen, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink.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(pheno_nm, orig_pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink.c:1976: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(pheno_c, orig_pheno_c, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink.c:1978: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(pheno_d, orig_pheno_d, unfiltered_sample_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink.c:2502: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).
  FILE* rerunfile = fopen(rerun_parameter_present? argv[rerun_argv_pos + 1] : (PROG_NAME_STR ".log"), "r");
data/plink1.9-1.90~b6.21-201019/plink.c:2557: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(rerun_buf, g_textbuf, line_byte_ct);
data/plink1.9-1.90~b6.21-201019/plink.c:2609: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(rerun_buf, g_textbuf, line_byte_ct);
data/plink1.9-1.90~b6.21-201019/plink.c:2731: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(*sbuf, source, slen);
data/plink1.9-1.90~b6.21-201019/plink.c:2745: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(*fnbuf, source, slen);
data/plink1.9-1.90~b6.21-201019/plink.c:2824: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((*tcbuf)->fname, params_ptr[0], slen);
data/plink1.9-1.90~b6.21-201019/plink.c:3351:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char outname[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3352:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char mapname[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3353:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char pedname[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3354:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char famname[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3355:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char mergename1[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3356:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char mergename2[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3357:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char mergename3[FNAMESIZE];
data/plink1.9-1.90~b6.21-201019/plink.c:3358:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char output_missing_pheno[32];
data/plink1.9-1.90~b6.21-201019/plink.c:3454:20:  [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).
      scriptfile = fopen(argv[uii + 1], FOPEN_RB);
data/plink1.9-1.90~b6.21-201019/plink.c:3654: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(flagptr, "fst", 4);
data/plink1.9-1.90~b6.21-201019/plink.c:3661: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(flagptr, "alleleACGT", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3666: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(flagptr, "allele1234", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3669: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(flagptr, "alleleACGT", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3673: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(flagptr, "allow-extra-chr", 16);
data/plink1.9-1.90~b6.21-201019/plink.c:3680: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(flagptr, "not-chr", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:3683: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(flagptr, "mh", 3);
data/plink1.9-1.90~b6.21-201019/plink.c:3687: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(flagptr, "output-chr", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3693: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(flagptr, "snp", 4);
data/plink1.9-1.90~b6.21-201019/plink.c:3696: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(flagptr, "distance-exp", 13);
data/plink1.9-1.90~b6.21-201019/plink.c:3699: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(flagptr, "recode", 7);
data/plink1.9-1.90~b6.21-201019/plink.c:3706: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(flagptr, "freqx", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:3709: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(flagptr, "flip-scan", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3712: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(flagptr, "flip-scan-window", 17);
data/plink1.9-1.90~b6.21-201019/plink.c:3715: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(flagptr, "flip-scan-window-kb", 20);
data/plink1.9-1.90~b6.21-201019/plink.c:3718: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(flagptr, "flip-scan-threshold", 20);
data/plink1.9-1.90~b6.21-201019/plink.c:3724:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(flagptr, "rel-cutoff", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3731: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(flagptr, "hwe midp", 9);
data/plink1.9-1.90~b6.21-201019/plink.c:3735: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(flagptr, "hardy midp", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3742: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(flagptr, "K", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:3748: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(flagptr, "recode list", 12);
data/plink1.9-1.90~b6.21-201019/plink.c:3754:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(flagptr, "read-dists", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3761: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(flagptr, "missing-code", 13);
data/plink1.9-1.90~b6.21-201019/plink.c:3764: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(flagptr, "mh", 3);
data/plink1.9-1.90~b6.21-201019/plink.c:3767: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(flagptr, "set-collapse-all", 17);
data/plink1.9-1.90~b6.21-201019/plink.c:3770: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(flagptr, "mac", 4);
data/plink1.9-1.90~b6.21-201019/plink.c:3773: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(flagptr, "max-mac", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:3776: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(flagptr, "thin-indiv-count", 17);
data/plink1.9-1.90~b6.21-201019/plink.c:3782: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(flagptr, "neighbour", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3785: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(flagptr, "threads", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:3796: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(flagptr, "recode A", 9);
data/plink1.9-1.90~b6.21-201019/plink.c:3803:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
              memcpy(flagptr, "recode 12", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3808:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
              memcpy(flagptr, "recode AD", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3812: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(flagptr, "recode HV-1chr", 15);
data/plink1.9-1.90~b6.21-201019/plink.c:3820: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(flagptr, "recode vcf", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:3827:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
              memcpy(flagptr, "recode lgen", 12);
data/plink1.9-1.90~b6.21-201019/plink.c:3836: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(flagptr, "recode rlist", 13);
data/plink1.9-1.90~b6.21-201019/plink.c:3844: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(flagptr, "recode beagle", 14);
data/plink1.9-1.90~b6.21-201019/plink.c:3848: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(flagptr, "recode bimbam-1chr", 19);
data/plink1.9-1.90~b6.21-201019/plink.c:3857: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(flagptr, "recode 01 fastphase-1chr", 25);
data/plink1.9-1.90~b6.21-201019/plink.c:3863: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(flagptr, "recode structure", 17);
data/plink1.9-1.90~b6.21-201019/plink.c:3877: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(flagptr, "a1-allele", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3883: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(flagptr, "threads", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:3889: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(flagptr, "read-freq", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3893: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(flagptr, "a1-allele", 10);
data/plink1.9-1.90~b6.21-201019/plink.c:3899: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(flagptr, argptr, ukk);
data/plink1.9-1.90~b6.21-201019/plink.c:3924: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(outname, PROG_NAME_STR, 6);
data/plink1.9-1.90~b6.21-201019/plink.c:3940: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(outname, argv[ujj + 1], uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:3947: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(&(outname[uii]), ".log", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:3948:15:  [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).
  g_logfile = fopen(outname, "w");
data/plink1.9-1.90~b6.21-201019/plink.c:4055: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(pedname, argv[cur_arg + 1], ii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:4598:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(filter_attrib_liststr, argv[cur_arg + 2], uii);
data/plink1.9-1.90~b6.21-201019/plink.c:4599: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(&(filter_attrib_liststr[uii]), ",", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:4616:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(filter_attrib_sample_liststr, argv[cur_arg + 2], uii);
data/plink1.9-1.90~b6.21-201019/plink.c:4617: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(&(filter_attrib_sample_liststr[uii]), ",", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:4646: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(strcpya(pedname, csptr), ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4649: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(strcpya(mapname, csptr), ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4650: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(strcpya(famname, csptr), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4692: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(mergename1, argv[cur_arg + 1], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:4698: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(mergename2, argv[cur_arg + 2], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:4704: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(mergename3, argv[cur_arg + 3], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:4710: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(memcpya(mergename1, argv[cur_arg + 1], jj), ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4711: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(memcpya(mergename2, argv[cur_arg + 1], jj), ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4712: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(memcpya(mergename3, argv[cur_arg + 1], jj), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:4809: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(pedname, argv[cur_arg + 1], uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:5133: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(memcpya(pedname, sptr, uii), ".cnv", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:5134: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(memcpya(famname, sptr, uii), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:5135: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(memcpya(mapname, sptr, uii), ".cnv.map", 9);
data/plink1.9-1.90~b6.21-201019/plink.c:6033: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(strcpya(pedname, csptr), ".gen", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:6037: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(strcpya(mapname, csptr), ".sample", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:6586: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(strcpya(pedname, csptr), ".ped", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:6587: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(strcpya(mapname, csptr), ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:7028: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(pedname, PROG_NAME_STR, 6);
data/plink1.9-1.90~b6.21-201019/plink.c:7046: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(pedname, PROG_NAME_STR, 6);
data/plink1.9-1.90~b6.21-201019/plink.c:7097: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(memcpya(pedname, sptr, uii), ".gvar", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:7099: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(memcpya(famname, sptr, uii), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:7101: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(memcpya(mapname, sptr, uii), ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:7491:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: The --hard-call-threshold parameter must be smaller than 0.5.  (Did you\nmean \"--hard-call-threshold %g\"?)\n", 1.0 - dxx);
data/plink1.9-1.90~b6.21-201019/plink.c:7909: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(strcpya(pedname, csptr), ".lgen", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:7910: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(strcpya(mapname, csptr), ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:7912: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(strcpya(famname, csptr), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:8354: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(output_missing_pheno, argv[cur_arg + 1], jj + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:8374: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(makepheno_str, "*", 2);
data/plink1.9-1.90~b6.21-201019/plink.c:8703: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(mergename1, argv[cur_arg + 1], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:8709: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(mergename2, argv[cur_arg + 2], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:8715: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(memcpya(mergename1, argv[cur_arg + 1], jj), ".ped", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:8716: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(memcpya(mergename2, argv[cur_arg + 1], jj), ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:8735: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(mergename1, argv[cur_arg + 1], jj);
data/plink1.9-1.90~b6.21-201019/plink.c:9778: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(output_missing_pheno, argv[cur_arg + 1], jj + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:11186:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: --simulate-ncontrols must be used with --simulate.\n");
data/plink1.9-1.90~b6.21-201019/plink.c:11702: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(famname, argv[cur_arg + 1], jj + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:11717: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(memcpya(pedname, argv[cur_arg + 1], jj), ".tped", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:11719: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(memcpya(famname, argv[cur_arg + 1], jj), ".tfam", 6);
data/plink1.9-1.90~b6.21-201019/plink.c:11722: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(pedname, PROG_NAME_STR ".tped", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:11724: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(famname, PROG_NAME_STR ".tfam", 11);
data/plink1.9-1.90~b6.21-201019/plink.c:11744: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(pedname, argv[cur_arg + 1], jj + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:12417: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(pedname, argv[cur_arg + 1], uii + 1);
data/plink1.9-1.90~b6.21-201019/plink.c:13335:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Random number seed: %u\n", ujj);
data/plink1.9-1.90~b6.21-201019/plink.c:13388:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "%" PRId64 " MB RAM detected; reserving %" PRIdPTR " MB for main workspace.\n", llxx, malloc_size_mb);
data/plink1.9-1.90~b6.21-201019/plink.c:13390:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Failed to calculate system memory.  Attempting to reserve %" PRIdPTR " MB.\n", malloc_size_mb);
data/plink1.9-1.90~b6.21-201019/plink.c:13521: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(memcpya(pedname, outname, uii), ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:13522: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(memcpya(mapname, outname, uii), ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:13523: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(memcpya(famname, outname, uii), ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink.c:13586: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(g_logbuf, "Error: --", 9);
data/plink1.9-1.90~b6.21-201019/plink.c:13587:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(sptr, " is either unfinished or not yet well-tested. If you wish to help with testing, use the latest development build.\n");
data/plink1.9-1.90~b6.21-201019/plink.c:13735: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(outname_end, ".gplink", 8);
data/plink1.9-1.90~b6.21-201019/plink.c:13736:17:  [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).
    g_logfile = fopen(outname, "w");
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:254:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char output_min_p_str[16];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:422: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(&(outname_end[uii]), ".adjusted", 10);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:434:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, " %%%us      UNADJ ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:448: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(output_min_p_str, "       INF ", 11);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:455:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(output_min_p_str, "       INF ", 11);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:2562: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:2640: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(git_homrar_cts, &(resultbuf[3 * ldref * perm_vec_ctcl4m]), 3 * perm_vec_ctcl4m * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:3295: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(results, &(g_maxt_extreme_stat[g_perms_done - perm_vec_ct]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:3380: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(git_qt_g_prod, &(qresultbuf[3 * ldref * perm_vec_ctcl8m]), 3 * perm_vec_ctcl8m * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:3498: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(results, &(g_maxt_extreme_stat[g_perms_done - perm_vec_ct]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:3564: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(git_qt_het_sum, &(qresultbuf[6 * ldref * perm_vec_ctcl8m]), 6 * perm_vec_ctcl8m * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:3958: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:4015: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(git_homrar_cts, &(resultbuf[3 * ldref * perm_vec_ctcl4m]), 3 * perm_vec_ctcl4m * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:4414: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:4450: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(git_homrar_cts, &(resultbuf[3 * ldref * perm_vec_ctcl4m]), 3 * perm_vec_ctcl4m * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:4818: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:4873: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(git_homrar_cts, &(resultbuf[3 * ldref * perm_vec_ctcl4m]), 3 * perm_vec_ctcl4m * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:5265: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:5316: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(git_homrar_cts, &(resultbuf[3 * ldref * perm_vec_ctcl4m]), 3 * perm_vec_ctcl4m * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:5692: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(tbuf2, outname, ulii);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:5933: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(outname_end2, ".set.perm", 10);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:5935: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(outname_end2, ".set.mperm", 11);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6075:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6078:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[48];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6163: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(founder_pnm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6183: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6220:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, " CHR %%%us         BP   A1 ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6285:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, " CHR %%%us   A1   A2     TEST            AFF          UNAFF ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6649: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(loadbuf, &(loadbuf[(MODEL_BLOCKSIZE - MODEL_BLOCKKEEP) * pheno_nm_ctv2]), MODEL_BLOCKKEEP * pheno_nm_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6650:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(g_resultbuf, &(g_resultbuf[3 * (MODEL_BLOCKSIZE - MODEL_BLOCKKEEP) * perm_vec_ctcl4m]), MODEL_BLOCKKEEP * perm_vec_ctcl4m * 3 * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6896: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(wptr, "   GENO ", 8);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6942: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(wptr_mid, "  TREND ", 8);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6974: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(wptr_mid, "ALLELIC", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:6994: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(wptr_mid, "    DOM", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7035: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(&(wptr_mid[4]), "REC", 3);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7610: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7617: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(a1ptr, outname, ulii);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7618: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(&(a1ptr[ulii]), ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7638:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(g_textbuf, "0 ", 2);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7654: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7660:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:7662:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8065: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(outname_end, ".qassoc.set.perm", 17);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8067: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(outname_end, ".qassoc.set.mperm", 18);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8124:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[5];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8126:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char numbuf[16]; // ' -1.23456e-200\0' fits, barely
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8127:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char spacebuf[8];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8201: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(founder_pnm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8228: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8280: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(outname_end2, ".means", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8284:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, " CHR %%%us  VALUE      G11      G12      G22\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8293:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us         BP    NMISS       BETA         SE         R2        T            P ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8470: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(g_loadbuf, &(g_loadbuf[(MODEL_BLOCKSIZE - MODEL_BLOCKKEEP) * pheno_nm_ctv2]), MODEL_BLOCKKEEP * pheno_nm_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8472: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(g_qresultbuf, &(g_qresultbuf[3 * (MODEL_BLOCKSIZE - MODEL_BLOCKKEEP) * perm_vec_ctcl8m]), MODEL_BLOCKKEEP * perm_vec_ctcl8m * 3 * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8474: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(g_qresultbuf, &(g_qresultbuf[6 * (MODEL_BLOCKSIZE - MODEL_BLOCKKEEP) * perm_vec_ctcl8m]), MODEL_BLOCKKEEP * perm_vec_ctcl8m * 6 * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8955: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8958: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(outname_end, ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8978:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(g_textbuf, "0 ", 2);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8993: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(outname_end, ".qassoc", 7); // deliberately not null-terminated
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8995: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9001:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9003:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9362: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(outname_end, ".qassoc.gxe", 12);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9372:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us   NMISS1      BETA1        SE1   NMISS2      BETA2        SE2    Z_GXE        P_GXE \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:9879: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(results, &(g_maxt_extreme_stat[g_perms_done]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10073: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10097: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(marker_exclude, marker_exclude_orig, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10109: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(pheno_male_nm2, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10112: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(pheno_male_nm2, pheno_nm2, unfiltered_sample_ctl2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10121:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us     F_MISS_A     F_MISS_U            P \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10628: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10632: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(outname_end, ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10643: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(g_textbuf, "0 ", 2);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10658: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(outname_end, ".missing", 8);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10660: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10666:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:10668:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11023:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11099: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(outname_end, ".cmh", 5);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11110:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us         BP   A1      MAF   A2      CHISQ          P         OR         SE        ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11476: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(outname_end, ".cmh2", 6);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11642:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11704: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(&(cluster_ids_collapsed[cluster_idx * max_cluster_id_len]), &(cluster_ids[ulii * max_cluster_id_len]), max_cluster_id_len);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11719: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(outname_end, ".homog", 7);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:11727:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us   A1   A2      F_A      F_U      N_A      N_U     TEST      CHISQ   DF          P         OR\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:295: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(wtarr, main_weights, (MULTIPLEX_DIST_EXP / 2) * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:569: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(target, &(pheno_d[sample_uidx]), delta * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2188: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(target, &(pheno_d[sample_uidx]), delta * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2247: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(wkbase, rel_dists, mat_offset * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2354:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_logbuf, "covg: %g  covr: %g\n", *covg_ref, *covr_ref);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2415: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(&(rel_base[ulii * sample_ct]), &(g_rel_dists[(ulii * (ulii - 1)) / 2]), ulii * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2466: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(grmname_end, ".grm.id", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2515: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(&(sorted_ids[sample_uidx * max_sample_id_len]), bufptr, cur_sample_id_len);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2519: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(&(sorted_ids[sample_uidx * max_sample_id_len + cur_sample_id_len]), bufptr2, ulii);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2563: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(grmname_end, ".grm.bin", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:2606: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(grmname_end, ".grm.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3278:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".dist.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3285:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mibs.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3292:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mdist.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:3763: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 overflow_buf[262144];
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4106:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".dist.%u.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4108:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".dist.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4119:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".dist.%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4121:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".dist");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4144:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mdist.%u.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4146:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mdist.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4157:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mdist.%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4159:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mdist");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4184:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mibs.%u.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4186:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mibs.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4197:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mibs.%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4199:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(outname_end, ".mibs");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4436: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(sptr_cur, "  -1 ", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4438: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(sptr_cur, "   1 ", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4440: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(sptr_cur, "   0 ", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4443: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(sptr_cur, "  NA ", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4529:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4894:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mibs");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4931:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mibs.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4941:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mdist");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4978:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mdist.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4989:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, "%%%us%%%us%%%us%%%us RT    EZ      Z0      Z1      Z2  PI_HAT PHE       DST     PPC   RATIO    IBS0    IBS1    IBS2  HOMHOM  HETHET\n", plink_maxfid, plink_maxiid, plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:4991:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, "%%%us%%%us%%%us%%%us RT    EZ      Z0      Z1      Z2  PI_HAT PHE       DST     PPC   RATIO\n", plink_maxfid, plink_maxiid, plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5020:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(outname_end, ".genome.%d.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5022:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".genome.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5027:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(outname_end, ".genome.%d", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5029:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".genome");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5245:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".rel.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5281:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5345:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5466: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(grmname_end, ".grm.id", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5507: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(grmname_end, ".grm.bin", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5556: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(grmname_end, ".grm.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5780: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(grmname_end, ".grm.id", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5785: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(outname_end, ".grm.id", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5812: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(grmname_end, ".grm.bin", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5817: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(grmname_end, ".grm.N.bin", 11);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5823: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(grmname_end, ".grm.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5844: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(outname_end, ".grm.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5847: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(outname_end, ".grm", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5855: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(outname_end, ".grm.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5858: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(outname_end, ".grm", 5);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5872: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(outname_end, ".grm.N.bin", 11);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5876: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(outname_end, ".grm.bin", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6153:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6301:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --distance-wts file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6357:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Invalid weight on line %" PRIuPTR " of --distance-wts file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6648:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".ibc");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6705:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".rel.bin");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6707:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(&(outname_end[8]), ".%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6749: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(outname_end, ".grm.N.bin", 11);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6757: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(outname_end, ".grm.bin", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6798:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".rel.bin");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6800:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(&(outname_end[8]), ".%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6856:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(outname_end, ".grm.%u.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6858:6:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	    strcpy(outname_end, ".grm.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6862:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  strcpy(outname_end, ".grm");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6864:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(&(outname_end[4]), ".%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6874:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(outname_end, ".rel.%u.gz", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6876:6:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	    strcpy(outname_end, ".rel.gz");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6879:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	  strcpy(outname_end, ".rel");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6881:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(&(outname_end[4]), ".%u", parallel_idx + 1);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:6940:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(&(outname_end[4]), ".id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7067:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Warning: calculating %u PCs, since there are only %u samples.\n", pc_ct, pc_ct);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7070:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Warning: calculating %u PCs, since there are only %u autosomal markers.\n", pc_ct, pc_ct);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7086: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(&(main_matrix[sample_idx * pca_sample_ct]), &(rel_dists[ulii]), sample_idx * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7173: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(sample_exclude_proj, sample_exclude, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7180: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(outname_end, ".eigenvec.var", 14);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7356: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(&(sample_loadings[sample_idx * pc_ct]), &(sample_loadings[(--ulii) * pc_ct]), pc_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7358: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(&(sample_loadings[sample_idx * pc_ct]), &(proj_sample_loadings[(--proj_sample_ct) * pc_ct]), pc_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7369: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(outname_end, ".eigenval", 10);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7385: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(outname_end, ".eigenvec", 10);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:7859: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(wtbuf, &(dist_missing_wts_i[marker_idx]), uii * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8030:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mdist");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8068:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".mdist.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8081:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mibs");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8115:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".mibs.id");
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8520: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(mds_plot_dmatrix_copy, g_dists, (sample_ct * (sample_ct - 1)) * (sizeof(double) / 2));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8574: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(outname_end, ".nearest", 9);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8655: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(outname_end, ".mdist.missing", 15);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8825: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(mds_plot_dmatrix_copy, cluster_sorted_ibs, initial_triangle_size * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:8833: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(mds_plot_dmatrix_copy, cluster_sorted_ibs, initial_triangle_size * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_calc.c:9126: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(g_bigstack_base, &(cluster_sorted_ibs_indices[CACHELINE_INT32 + 3 * heap_size]), heap_size * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:125:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --keep-clusters file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:152: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(&(sorted_keep_ids[ulii * max_cluster_kr_len]), cluster_name_ptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:199:8:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --remove-clusters file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:225: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(sample_exclude_new, sample_exclude, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:237:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --remove-clusters file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:260: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(&(sorted_remove_ids[ulii * max_cluster_kr_len]), cluster_name_ptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:316:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --within file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:362: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(ll_ptr->ss, cluster_name_ptr, slen + 1);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:400: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(cluster_starts, tmp_cluster_starts, cluster_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:535: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(cluster_starts, tmp_cluster_starts, cluster_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:551: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(sample_exclude, sample_exclude_new, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:569:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --within file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:658: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(outname_end, ".clst", 6);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1382:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: FID1/IID1 matches FID2/IID2 on line %" PRIuPTR " of --read-genome file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1392:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid PPC test value on line %" PRIuPTR " of --read-genome file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1402:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid IBS value on line %" PRIuPTR " of --read-genome file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1455:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --read-genome file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1481:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char intbuf[12];
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1541:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --match-type file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1557:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --match-type file has an invalid token\n(0/1/-1/-/+/* expected).\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1606:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --match file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1774:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qt file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1780:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qt file has a non-numeric value.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1785:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qt file has an invalid tolerance (-1 = ignore,\nother values must be nonnegative).\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1819:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qmatch file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1849:8:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qmatch file has a non-numeric covariate.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1956:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --match file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:2736:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:2753: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(outname_end, ".cluster2", 10);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:2782: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(g_textbuf, "SOL-", 4);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:2803: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(&(outname_end[8]), "3.missing", 10);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3002: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(&(main_matrix[sample_idx * sample_ct]), &(main_matrix[ulii]), sample_idx * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3110: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(outname_end, ".mds", 5);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3114:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us %%%us    SOL ", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3122: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(wptr2, g_textbuf, uii);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3183: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(&(outname_end[4]), ".eigvals", 9);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3311: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(&(main_matrix[sample_idx * sample_ct]), &(main_matrix[ulii]), sample_idx * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3419: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(outname_end, ".mds", 5);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3423:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us %%%us    SOL ", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3431: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(wptr2, g_textbuf, uii);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:3492: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(&(outname_end[4]), ".eigvals", 9);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:524:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .cnv file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:534:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .cnv file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:559:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of .cnv file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:563:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Segment end coordinate smaller than segment start on line %" PRIuPTR " of\n.cnv file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:581:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid variant copy count on line %" PRIuPTR " of .cnv file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:595:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid confidence score on line %" PRIuPTR " of .cnv file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:605:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid probe count on line %" PRIuPTR " of .cnv file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:804:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of .cnv.map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:852:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .cnv.map is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:991: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(mapname, cnvname, uii);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:992: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(&(mapname[uii]), ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:1009: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(outname_end, ".cnv.map", 9);
data/plink1.9-1.90~b6.21-201019/plink_common.c:27:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char g_textbuf[TEXTBUF_SIZE];
data/plink1.9-1.90~b6.21-201019/plink_common.c:42:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char g_logbuf[MAXLINELEN * 2];
data/plink1.9-1.90~b6.21-201019/plink_common.c:87: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(new_ll_str->ss, ss, str_bytes);
data/plink1.9-1.90~b6.21-201019/plink_common.c:211:17:  [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).
  *target_ptr = fopen(fname, mode);
data/plink1.9-1.90~b6.21-201019/plink_common.c:745: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(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_common.c:919:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 char digit2_table[200] = {
data/plink1.9-1.90~b6.21-201019/plink_common.c:1312: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1322: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(&(start[2]), &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1343: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(start, &(digit2_table[uii * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1356: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(start, &(digit2_table[uii * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1365: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1369: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(start, &(digit2_table[uii * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1379: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1384: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1388: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(start, &(digit2_table[uii * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1399: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1404: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1409: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1413: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(start, &(digit2_table[uii * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1439: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(start, &(digit2_table[remainder * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1455: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1474: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1479: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1499: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1504: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1509: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1623: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1628: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(start, &(digit2_table[remainder * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1647: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1753: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1758: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(start, &(digit2_table[remainder * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1777: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1866: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(start, &(digit2_table[remainder * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1906: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1912: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1917: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(start, &(digit2_table[remainder * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1937: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:1945: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(start, &(digit2_table[quotient * 2]), 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2257:12:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  start += sprintf(start, "%.2f", dxx);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2308:12:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  start += sprintf(start, "%.3f", dxx);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2342:12:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  start += sprintf(start, "%.6f", dxx);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2390:12:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  start += sprintf(start, "%.4f", dxx);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2638:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_common.c:2643: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(memseta(start, 32, min_width - 4), " nan", 4);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2699: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(memseta(start, 32, min_width - 5 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2709: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(memseta(start, 32, min_width - 4 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2770: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(memseta(start, 32, min_width - 5 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2780: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(memseta(start, 32, min_width - 4 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2806: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(memseta(start, 32, min_width - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2817:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_common.c:2822: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(memseta(start, 32, min_width - 4), " nan", 4);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2878: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(memseta(start, 32, min_width - 5 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2888: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(memseta(start, 32, min_width - 4 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2949: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(memseta(start, 32, min_width - 5 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2959: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(memseta(start, 32, min_width - 4 - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2985: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(memseta(start, 32, min_width - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:2995:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_common.c:3058: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(memseta(start, 32, min_width - (remainder + 5)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3068: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(memseta(start, 32, min_width - (remainder + 4)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3131: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(memseta(start, 32, min_width - (remainder + 5)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3141: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(memseta(start, 32, min_width - (remainder + 4)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3167: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(memseta(start, 32, min_width - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3177:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_common.c:3240: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(memseta(start, 32, min_width - (remainder + 5)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3250: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(memseta(start, 32, min_width - (remainder + 4)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3313: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(memseta(start, 32, min_width - (remainder + 5)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3323: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(memseta(start, 32, min_width - (remainder + 4)), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3349: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(memseta(start, 32, min_width - remainder), wbuf, remainder);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3376:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf, "XY", 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3379:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf, "MT", 2);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4420: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(chrom_info_ptr->xymt_codes, &(species_xymt_codes[species_code * XYMT_OFFSET_CT]), XYMT_OFFSET_CT * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_common.c:4510: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(new_alloc_iter, chrom_info_ptr->chrom_mask, chrom_code_bitvec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4514: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(new_alloc_iter, chrom_info_ptr->haploid_mask, chrom_code_bitvec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4518: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(new_alloc_iter, chrom_info_ptr->chrom_file_order, chrom_ct_int32vec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4522: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(new_alloc_iter, chrom_info_ptr->chrom_fo_vidx_start, chrom_ct_p1_int32vec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4526: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(new_alloc_iter, chrom_info_ptr->chrom_idx_to_foidx, chrom_code_end_int32vec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4535: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(new_alloc_iter, chrom_info_ptr->nonstd_names, chrom_code_end_wordvec_ct * VEC_BYTES);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4539: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(new_alloc_iter, chrom_info_ptr->nonstd_id_htable, CHROM_NAME_HTABLE_SIZE * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_common.c:4621: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(buf5, "   0", 4);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4629: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(buf5, "   0", 4);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4876: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(nonstd_names[chrom_code_end], chrom_name, name_slen + 1);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5417: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(&(proxy_arr[ulii * proxy_len + sizeof(void*)]), &(secondary_arr[ulii * secondary_item_len]), secondary_item_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5421: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(&(secondary_arr[ulii * secondary_item_len]), &(proxy_arr[ulii * proxy_len + sizeof(void*)]), secondary_item_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5422: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(&(proxy_arr[ulii * proxy_len]), *(char**)(&(proxy_arr[ulii * proxy_len])), item_length);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5425: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(&(main_arr[ulii * item_length]), &(proxy_arr[ulii * proxy_len]), item_length);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5480: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(&(sorted_ids[ujj * max_id_len]), &(item_ids[uii * max_id_len]), max_id_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5486: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(&(sorted_ids[ujj * max_id_len]), &(item_ids[uii * max_id_len]), max_id_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5728: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(id_buf, fam_id, slen);
data/plink1.9-1.90~b6.21-201019/plink_common.c:8313: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(*marker_exclude_ptr, marker_exclude_orig, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_common.c:9567: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(sample_raw_male_include_quatervec, *sample_raw_include_quatervec_ptr, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_common.c:9761: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(str_list, bufptr, cur_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10064: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(wptr, &(item_arr[item_uidx * item_len]), delta * item_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10090: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(wptr, &(item_arr[item_uidx * item_len]), delta * item_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10138: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(write_ptr, &(item_arr[read_idx * item_len]), item_len);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10184: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(output_bitarr, raw_bitarr, item_uidx / 8);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10216: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(output_bitarr, raw_bitarr, item_uidx / 8);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10305: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(dest, source, unfiltered_sample_ct * elem_size);
data/plink1.9-1.90~b6.21-201019/plink_common.c:10324: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(dest, &(source[last_missing_p1 * elem_size]), diff * elem_size);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1410: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, source, ct);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1418: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, source, ct);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1423: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, source, ct);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1429: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, source, ct);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1446: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, source, slen);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1452: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, source, slen);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1533: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(memseta(dest, 32, min_width - source_len), source, source_len);
data/plink1.9-1.90~b6.21-201019/plink_data.c:56: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(&(sorted_ids[ulii * max_id_len]), &(item_ids[ulii * max_id_len]), max_id_len);
data/plink1.9-1.90~b6.21-201019/plink_data.c:233:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .map file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:341:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of .map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:381:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .map file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:468:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char poscharbuf[12];
data/plink1.9-1.90~b6.21-201019/plink_data.c:701: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(insert_buf[2], bufptr4, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:703: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(insert_buf[3], bufptr5, ujj);
data/plink1.9-1.90~b6.21-201019/plink_data.c:706: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(insert_buf[3], bufptr4, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:708: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(insert_buf[2], bufptr5, ujj);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1078: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(insert_buf[2], bufptr4, ukk);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1080: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(insert_buf[3], bufptr5, umm);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1083: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(insert_buf[3], bufptr4, ukk);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1085: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(insert_buf[2], bufptr5, umm);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1102: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(prev_new_id, bufptr5, (uintptr_t)(bufptr4 - bufptr5));
data/plink1.9-1.90~b6.21-201019/plink_data.c:1306:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(g_textbuf, "Empty --covar file.\n");
data/plink1.9-1.90~b6.21-201019/plink_data.c:1326:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(g_textbuf, "No covariate columns in --covar file.\n");
data/plink1.9-1.90~b6.21-201019/plink_data.c:1368:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(g_textbuf, "No --covar values loaded.\n");
data/plink1.9-1.90~b6.21-201019/plink_data.c:1469: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(&(covar_names[covar_ct * max_covar_name_len]), "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1475:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --covar file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1574:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "--covar: 1 C/C cov. loaded for --gxe, %" PRIuPTR "/%" PRIuPTR " for other operations.\n", covar_ct, covar_raw_ct);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1576:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "--covar: %" PRIuPTR " out of %" PRIuPTR " covariates loaded.\n", covar_ct, covar_raw_ct);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1628:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(g_textbuf, "All covariates are constant.\n");
data/plink1.9-1.90~b6.21-201019/plink_data.c:1676:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Fewer tokens than expected on line %" PRIuPTR " of --covar file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1750: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(outname_end, ".cov", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2178:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --zero-cluster file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2279:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --zero-cluster file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2545:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-chr file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2608:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-chr file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2773:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char zstr[2];
data/plink1.9-1.90~b6.21-201019/plink_data.c:2834:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".map.tmp");
data/plink1.9-1.90~b6.21-201019/plink_data.c:2923:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --flip file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2939:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid alleles (not reverse complement single bases) on line\n%" PRIuPTR " of --flip file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:2975:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --flip-subset file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3328: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3392: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3572: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3600: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3615: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3715:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .fam file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3733:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid IID '0' on line %" PRIuPTR " of .fam file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3830: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(&(paternal_ids[sample_uidx * max_paternal_id_len]), "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3833: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(&(maternal_ids[sample_uidx * max_maternal_id_len]), "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3931:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .fam file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:3979:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[12];
data/plink1.9-1.90~b6.21-201019/plink_data.c:4035: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(sorted_mc, "NA", 3);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4084: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4254:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid sex code on line %" PRIuPTR " of .sample file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4319: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4323: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4700: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(bufptr2, "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4857: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(&ujj, &(loadbuf[2 * uii + 3]), 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5104:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char ss[8];
data/plink1.9-1.90~b6.21-201019/plink_data.c:5106:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char ss[12];
data/plink1.9-1.90~b6.21-201019/plink_data.c:5282: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5304:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5394:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file has more tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5421: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5427: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(outname_end, ".map.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5542: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5718:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5756:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[12];
data/plink1.9-1.90~b6.21-201019/plink_data.c:5801:15:  [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).
    mapfile = fopen(mapname, "r");
data/plink1.9-1.90~b6.21-201019/plink_data.c:5834:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .map file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5857:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of .map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5922: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5950:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5976:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file has a pathologically long token.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6045:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file has more tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6079: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6084: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(outname_end, ".map.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6204: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6372:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ped file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6505: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(marker_ids, sorted_marker_ids, marker_ct * max_marker_id_len);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6558:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ref file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6570:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .ref file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6619: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6682:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid compound genotype on line %" PRIuPTR " of .lgen file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6856: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(outname_end, ".map.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6865: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6902: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(outname_end, ".map.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6908: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:6976:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .lgen file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7072: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 writemap[17];
data/plink1.9-1.90~b6.21-201019/plink_data.c:7118: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7126:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tfam file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7153: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(outname_end, ".bim.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7157: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(outname_end, ".bed.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7202:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has excessive whitespace.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7215:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has an excessively long\nchromosome/contig name.  (The " PROG_NAME_CAPS " limit is " MAX_ID_SLEN_STR " characters.)\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7217:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has an excessively long variant ID.\n(The " PROG_NAME_CAPS " limit is " MAX_ID_SLEN_STR " characters.)\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7222:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has an excessively long centimorgan\nposition.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7224:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has an excessively long bp coordinate.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7226:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has excessive whitespace.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7251:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has an invalid bp coordinate.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7408: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(salleles, alleles, 4 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_data.c:7590: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(outname_end, ".bim.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7610:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid centimorgan position on line %" PRIuPTR " of .tped file\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7693: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(outname_end, ".bim.tmp", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7694: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(g_textbuf, outname, 9 + uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7734:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .tped file has a half-missing call.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7766:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char fam_trailer[20];
data/plink1.9-1.90~b6.21-201019/plink_data.c:7776: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7810:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: --%ccf does not support sample IDs longer than " MAX_ID_SLEN_STR " characters.\n", flag_char);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7819:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: '%c' at beginning of sample ID.\n", id_delim);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7822:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: '%c' at end of sample ID.\n", id_delim);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7832:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: No '%c' in sample ID.\n", id_delim);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7846:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Sample ID ends with \"%c0\", which induces an invalid IID of '0'.\n", id_delim);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8028: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(sorted_fexcepts, ".", 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8029: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(&(sorted_fexcepts[max_fexcept_len]), "PASS", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8034: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(&(sorted_fexcepts[ulii * max_fexcept_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8097: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8117: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8177:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid variant bp coordinate on line %" PRIuPTR " of .vcf file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8197:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid alternate allele on line %" PRIuPTR  " of .vcf file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8207:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: ALT allele duplicates REF allele on line %" PRIuPTR " of .vcf file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8219:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Malformed ALT field on line %" PRIuPTR " of .vcf file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8236:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid QUAL value on line %" PRIuPTR " of .vcf file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8848: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(outname_end, ".skip.3allele", 14);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8852: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8927:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of .vcf file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9185: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(&vcf_min_qualf_compare_bits, &vcf_min_qualf, 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9231: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(&(sorted_fexcepts[ulii * max_fexcept_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9362: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9430: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9434: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9891: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(outname_end, ".skip.3allele", 14);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9895: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10045: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10049: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(&(outname_end[2]), "ed", 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10202: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10309:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[64];
data/plink1.9-1.90~b6.21-201019/plink_data.c:10310:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[12];
data/plink1.9-1.90~b6.21-201019/plink_data.c:10314:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char alleles[13];
data/plink1.9-1.90~b6.21-201019/plink_data.c:10331: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(alleles, "ACAGATCGCTGTA", 13);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10334: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(alleles, "1213142324341", 13);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10344: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10348: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(wbuf, "1\tsnp", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10392: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10443: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10890:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char alleles[13];
data/plink1.9-1.90~b6.21-201019/plink_data.c:10891:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char cur_alleles[4];
data/plink1.9-1.90~b6.21-201019/plink_data.c:10935: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(alleles, "ACAGATCGCTGTA", 13);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10937: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(alleles, "1213142324341", 13);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10943: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(alleles, "HLAB", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10945: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(alleles, "DdAB", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10959: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10963: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(outname_end, ".simfreq", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:10967: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11047: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(cur_snp_label, snp_label_ptr, snp_label_len);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11068:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid variance value on line %" PRIuPTR " of --simulate-qt file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11072:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Nonzero variance with fixed 0/1 allele frequency on line %" PRIuPTR " of\n--simulate-qt file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11082:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid dominance deviation value on line %" PRIuPTR " of --simulate-qt\nfile.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11087:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid heterozygote disease odds ratio on line %" PRIuPTR " of\n--simulate file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11093:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Invalid homozygote disease odds ratio on line %" PRIuPTR " of --simulate\nfile.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11188: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(cur_alleles, &(alleles[uii]), 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11189: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(&(cur_alleles[2]), &(alleles[ujj]), 2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11191: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(cur_alleles, alleles, 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11381: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11493:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --recode-allele file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11503:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --recode-allele file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11520: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(&(recode_allele_extra[rae_size]), bufptr2, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11597:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_data.c:11630: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(cmaptr, allele1, alen1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11635: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(cmaptr, allele2, alen2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11640: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(cmaptr, allele2, alen2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11660: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(cur_mk_allelesx[0], mk_alleles, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11665: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(cur_mk_allelesx[1], mk_alleles, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11675: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(cur_mk_allelesx[2], mk_alleles, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11677: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(cur_mk_allelesx[3], mk_alleles, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11687: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(cur_mk_allelesx[1], mk_alleles, alen + 1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11738: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(wbufptr, ".dat", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11742: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(wbufptr, ".map", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11767:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_data.c:11795:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing4[4];
data/plink1.9-1.90~b6.21-201019/plink_data.c:11851: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(wbufptr, aptr, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11853: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(&(wbufptr[alen + 1]), aptr, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11865: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(wbufptr, aptr, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11867: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(&(wbufptr[alen + 1]), aptr, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11888:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_data.c:12025:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char cur_dosage_chars[4];
data/plink1.9-1.90~b6.21-201019/plink_data.c:12123: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(sample_exclude_y, sample_exclude, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_data.c:12226: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(cur_mk_allelesx[0], "    ", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12227: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(cur_mk_allelesx[1], " 0 0", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12228: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(cur_mk_allelesx[2], "    ", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12229: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(cur_mk_allelesx[3], "    ", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12271: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(writebuf3, "0?010?11", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12273: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(writebuf3, "1?121?22", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12352: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(&(writebuf3[sample_idx * max_fid_len]), cptr, ulii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12389: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(writebuf2, "2 0     1 1 0 0 NA NA", 21);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12513: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(cur_mk_allelesx_buf, "\t1/1\t./.\t0/1\t0/0", 16);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12518: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(cur_mk_allelesx_buf, " 1 0 0   0 0 0   0 1 0   0 0 1", 30);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12541:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".tped");
data/plink1.9-1.90~b6.21-201019/plink_data.c:12627:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".traw");
data/plink1.9-1.90~b6.21-201019/plink_data.c:12709: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(cur_dosage_chars, "0N00", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12711: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(cur_dosage_chars, "2N10", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12748: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(outname_end, ".vcf", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12753: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(outname_end, ".vcf.gz", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12773: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(g_textbuf, "##contig=<ID=", 13);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12997: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(outname_end, output_gen_gz? ".gen.gz" : ".gen", output_gen_gz? 8 : 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13076: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(outname_end, ".sample", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13113: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(outname_end, ".txt", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13205: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(outname_end, ".chr-", 6);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13210: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(outname_end, ".beagle.dat", 12);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13272: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(wbufptr, aptr, alen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13275: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(wbufptr, aptr2, alen2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13283: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(wbufptr, aptr2, alen2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13341: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(outname_end, ".recode.", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13345: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(&(outname_end[8]), "pos.txt", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13371: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(&(outname_end[8]), "pheno.txt", 10);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13405: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(&(outname_end[8]), "geno.txt", 9);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13433: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(&(writebuf2[4]), ",??", 4);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13513: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(outname_end, ".chr-*", 7);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13544: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(wbufptr, ".recode.phase.inp", 18);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13631:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".ref");
data/plink1.9-1.90~b6.21-201019/plink_data.c:13636:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".lgen");
data/plink1.9-1.90~b6.21-201019/plink_data.c:13689: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(&(writebuf[alen]), writebuf, ulii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13690: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(&(writebuf[2 * alen]), writebuf, ulii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13691: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(&(writebuf[3 * alen]), writebuf, ulii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13755: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(outname_end, ".raw", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14080: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(outname_end, ".chr-", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14109: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(wbufptr, ".ped", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14128: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(wbufptr, ".info", 6);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14151: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(outname_end, ".recode.strct_in", 17);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14197: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(writebuf2, " 1 1 0 0 1 2 2 2", 16);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14238: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(outname_end, ".ped", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14279:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".tfam");
data/plink1.9-1.90~b6.21-201019/plink_data.c:14281:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".fam");
data/plink1.9-1.90~b6.21-201019/plink_data.c:14294:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".map");
data/plink1.9-1.90~b6.21-201019/plink_data.c:14406:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --indiv-sort file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14414:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --indiv-sort file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14549:12:  [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).
  infile = fopen(famname, "r");
data/plink1.9-1.90~b6.21-201019/plink_data.c:14886: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(llstr_new_ptr->ss, bufptr, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14913: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(llstr_new_ptr->ss, bufptr, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14972: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(llbim_ptr->idstr, bufptr, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15046: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(outname_end, ".missnp", 8);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15279:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[8];
data/plink1.9-1.90~b6.21-201019/plink_data.c:15299: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(wbuf, ma1p[newval], slen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15301: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(&(wbuf[slen + 1]), ma2p[newval], slen2 + 1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15309: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(wbuf, ma1p[oldval], slen);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15311: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(&(wbuf[slen + 1]), ma2p[oldval], slen2 + 1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16088:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --merge-list file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16097:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --merge-list file has more tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16104:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --merge-list file has an excessively long fileset\nprefix.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16113:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --merge-list file has an excessively long filename.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16354: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(outname_end, ".fam", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16368: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(bufptr3, bufptr, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16389: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(bufptr3, bufptr, uii);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16652: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(outname_end, ".bed", 5);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16665: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(outname_end, ".diff", 6);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16735: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(outname_end, ".bim", 5);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:179:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --score file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:255:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --score file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:367:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --q-score-range data file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:391:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --q-score-range range file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:406:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Excessively long range name on line %" PRIuPTR " of --q-score-range range\nfile.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:471:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --score file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:632:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[32];
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1056: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(covar_names, "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1159: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(&(missing_pheno_str[6 - missing_pheno_len]), output_missing_pheno, missing_pheno_len);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1162: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(missing_pheno_str, output_missing_pheno, missing_pheno_len);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1214:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid batch number on line %" PRIuPTR " of --dosage list file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1220:11:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
          sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --dosage list file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1232:11:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
          sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --dosage list file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1243:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --dosage list file has more tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1256:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --dosage list file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1305: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(uiptr, batch_sizes, batch_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1307: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(batch_sizes, uiptr3, batch_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1373: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(fnames, doip->fname, uii);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1542: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(bufptr2, ".gz", 4);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1741: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(cur_samples, batch_samples, sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1844: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(ll_ptr->ss, cur_marker_id_buf, slen);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2200: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(bufptr, ".profile", 9);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2202: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(outname_end, ".profile", 9);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2272: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(bufptr2, &(ll_ptr->ct), sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:168: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(founder_info2, founder_info, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:202: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(idbuf, idptr, fidlen);
data/plink1.9-1.90~b6.21-201019/plink_family.c:207: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(&(idbuf[fidlen]), pidptr1, slen + 1);
data/plink1.9-1.90~b6.21-201019/plink_family.c:234: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(&(idbuf[fidlen]), pidptr2, slen);
data/plink1.9-1.90~b6.21-201019/plink_family.c:311: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(trio_write, trio_list_tmp, trio_ct * sizeof(int64_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:377: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(&(iids[unfiltered_sample_ct * max_iid_len]), "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:472: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(workbuf, loadbuf, (unfiltered_sample_ct + 3) / 4);
data/plink1.9-1.90~b6.21-201019/plink_family.c:562: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(wbuf, "10", 2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:711:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[5];
data/plink1.9-1.90~b6.21-201019/plink_family.c:824: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(outname_end, ".mendel", 8);
data/plink1.9-1.90~b6.21-201019/plink_family.c:828:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, "%%%us %%%us  CHR %%%us   CODE                 ERROR\n", plink_maxfid, plink_maxiid, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:831: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(outname_end, ".lmendel", 9);
data/plink1.9-1.90~b6.21-201019/plink_family.c:836:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, " CHR %%%us   N\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1067:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, "%%%us %%%us %%%us   CHLD    N\n", plink_maxfid, plink_maxiid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1125:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, "%%%us %%%us   N\n", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1492: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(processed_samples, founder_info, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:1535: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(cur_sample_id, id_ptr, ujj + 1);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1550: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(cur_sample_id, id_ptr, ujj + 1);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1799: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(outname_end, ".tdt.poo", 9);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1803:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(textbuf, " CHR %%%us  A1:A2      T:U_PAT    CHISQ_PAT        P_PAT      T:U_MAT    CHISQ_MAT        P_MAT        Z_POO        P_POO \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:2221: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(outname_end, ".tdt", 5);
data/plink1.9-1.90~b6.21-201019/plink_family.c:2225:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(textbuf, " CHR %%%us           BP  A1  A2      T      U           OR ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:2501: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(marker_exclude_tmp, marker_exclude, ulii * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:2758: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(bufptr3, &sample_uidx, sizeof(int32_t)); // assumes little-endian
data/plink1.9-1.90~b6.21-201019/plink_family.c:2823: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(*size_one_sibships_ptr, not_in_family, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:3940: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(marker_exclude_orig_autosomal, marker_exclude_orig, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:3970: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(founder_pnm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:4304: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4343:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(textbuf, " CHR %%%us   A1   A2      OBS      EXP        CHISQ            P \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4846: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4849: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(outname_end, ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4851: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(outname_end, ".qassoc", 7);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4853: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4859:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us    CHISQ_TDT         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:4861:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us    CHISQ_TDT         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:5321: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(permute_edit_buf, perm_ptr, fss_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:5428:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_family.c:5669:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us         BP   A1       TEST     NIND       BETA         STAT        RAW_P\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_family.c:5866: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(outname_end, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_family.c:6001: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(marker_exclude_new, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_family.c:6078:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".tucc.fam");
data/plink1.9-1.90~b6.21-201019/plink_family.c:6116: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(&(outname_end[6]), "bi", 2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:6169: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(&(outname_end[7]), "ed", 2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:6248:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(outname_end, ".tucc.ped");
data/plink1.9-1.90~b6.21-201019/plink_family.c:6253:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char missing4[4];
data/plink1.9-1.90~b6.21-201019/plink_filter.c:89: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(exclude_arr_new, exclude_arr, unfiltered_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:161: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(exclude_arr, exclude_arr_new, unfiltered_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:379: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(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:583:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR" of --attrib file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:634: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(exclude_arr, exclude_arr_new, unfiltered_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:812:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR" of --attrib-indiv file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:822:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --attrib-indiv file has fewer tokens than\nexpected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:868: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(exclude_arr, exclude_arr_new, unfiltered_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:920: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(marker_exclude_orig, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:946:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qual-scores file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1010:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --qual-scores file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1257: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(ll_ptr->ss, bufptr2, slen + 1);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1403: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(om_ip->entries, zc_entries, om_ip->entry_ct * sizeof(int64_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1480: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(&(sorted_filtervals[filterval_idx * max_filterval_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1492:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --filter file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1528: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(sample_exclude, sample_exclude_new, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1542:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --filter file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1728: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(outname_end, ".irem", 6);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2100: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(sample_male_include2, sample_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2114: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(sample_nonmale_include2, sample_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2126: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(tmp_sample_excl_mask, sample_exclude, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2138: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(founder_male_include2, sample_male_include2, unfiltered_sample_ctl * 2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2145: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(founder_nonmale_include2, sample_nonmale_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2165: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(tmp_sample_excl_mask2, tmp_sample_excl_mask, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2177: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(founder_ctrl_nonmale_include2, sample_nonmale_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2194: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(founder_case_nonmale_include2, sample_nonmale_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2378: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(outname_end, ".hh", 4);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2558: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(sample_male_include2, sample_include2, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2567: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(outname_end, output_gz? ".lmiss.gz" : ".lmiss", output_gz? 10 : 7);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2840:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char wbuf[48];
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2936: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(outname_end, output_gz? ".hwe.gz" : ".hwe", output_gz? 8 : 5);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2956: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(&(cptr0[plink_maxsnp]), "  ALL(QT)           ", 20);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2958: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(&(cptr0[plink_maxsnp]), "  ALL(NP)           ", 20);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2972: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(&(cptr0[plink_maxsnp]), "  ALL(QT)           ", 20);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:2974: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(&(cptr0[plink_maxsnp]), "  ALL(NP)           ", 20);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:3014: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(&(cptr0[4 + plink_maxsnp]), "  ALL", 5);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:3027: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(&(cptr0[7 + plink_maxsnp]), "FF", 2);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:3032: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(&(cptr0[4 + plink_maxsnp]), "UN", 2);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:86: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(load_mask, pheno_nm, unfiltered_sample_ctv2 * (sizeof(intptr_t) / 2));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:168:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --condition-list file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:196: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(condition_uidxs, condition_uidxs_tmp, condition_ct * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:214: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(loadbuf_mask, loadbuf_mask_orig, unfiltered_sample_ctv2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:1757: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(&(param_2d_buf[param_idx * param_ct]), param_1d_buf2, param_ct * sizeof(float));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:2844: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(dgels_a, cur_covars_cov_major, cur_param_ct * cur_sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:2846: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(dgels_b, perm_pmajor, perm_vec_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3151: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3175: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(dgels_a, cur_covars_cov_major, cur_param_ct * cur_sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3177: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(dgels_b, perm_pmajor, perm_vec_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3316: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(results, &(g_maxt_extreme_stat[pidx_offset]), perm_vec_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3447: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(dgels_a, cur_covars_cov_major, cur_param_ct * cur_sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3449: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(dgels_b, perm_pmajor, perm_vec_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4342: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(outname_end, ".assoc.linear.set.perm", 23);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4344: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(outname_end, ".assoc.linear.set.mperm", 24);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4419:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char numbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4512: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(founder_pnm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4570: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(&(param_names[max_param_name_len]), main_effect, 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4575: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(&(param_names[param_idx * max_param_name_len]), "HET", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4577: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(&(param_names[param_idx * max_param_name_len]), "DOMDEV", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4702: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(&(param_names[param_idx * max_param_name_len]), "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4708: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(wptr, "xSEX", 5);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4714: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(wptr, "HETxSEX", 8);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4716: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(wptr, "DOMDEVxSEX", 11);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4722: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(&(param_names[param_idx * max_param_name_len]), "XxSEX", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4745: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(wptr, "USER_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4747: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(wptr, "FULL_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4749: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(wptr, "GENO_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4806: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:4945:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us         BP   A1       TEST    NMISS       BETA ", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5094: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(wptr, "DF", 3);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5161: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(g_linear_mt[0].dgels_a, g_linear_mt[0].cur_covars_cov_major, cur_param_ct * cur_sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5476: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5479: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(outname_end, ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5490: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(g_textbuf, "0 ", 2);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5505: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(outname_end, ".assoc.linear", 13);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5507: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5513:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5515:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5876: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(outname_end, ".assoc.logistic.set.perm", 25);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5878: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(outname_end, ".assoc.logistic.set.mperm", 26);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:5945:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char numbuf[16];
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6039: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(founder_pnm, pheno_nm, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6099: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(&(param_names[max_param_name_len]), main_effect, 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6104: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(&(param_names[param_idx * max_param_name_len]), "HET", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6106: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(&(param_names[param_idx * max_param_name_len]), "DOMDEV", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6230: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(&(param_names[param_idx * max_param_name_len]), "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6236: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(wptr, "xSEX", 5);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6242: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(wptr, "HETxSEX", 8);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6244: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(wptr, "DOMDEVxSEX", 11);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6250: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(&(param_names[param_idx * max_param_name_len]), "XxSEX", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6272: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(wptr, "USER_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6274: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(wptr, "FULL_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6276: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(wptr, "GENO_", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6319: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(outname_end, ".mperm.dump.all", 16);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6567: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(wptr, "DF", 3);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6914: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(outname_end2, ".perm", 6);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6917: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(outname_end, ".mperm.dump.best", 17);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6928: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(g_textbuf, "0 ", 2);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6943: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(outname_end, ".assoc.logistic", 15);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6945: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6951:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1           NP \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:6953:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_textbuf, " CHR %%%us         EMP1         EMP2 \n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7389: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(wptr, "DF", 3);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7455: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(&(param_names[param_idx * max_param_name_len]), "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7538: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(dgels_a, covars_cov_major, param_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7539: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(dgels_b, g_perm_pheno_d2, sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7726: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(dgels_a, covars_cov_major, param_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7727: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(dgels_b, g_perm_pmajor, cur_batch_size * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7791: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7848: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(wptr, ".mperm.dump.all", 17);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8261: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(wptr, "DF", 3);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8294: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(&(param_names[param_idx * max_param_name_len]), "SEX", 4);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8576: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(outname_end2, ".mperm", 7);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8633: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(wptr, ".mperm.dump.all", 17);
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8732: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(dptr2, &(covar_d[sample_uidx * covar_ct]), covar_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8798: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(dgels_a, covars_cov_major, param_ct * sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8799: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(dgels_b, pheno_d2, sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:447: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(outname_end, ".hom", 5);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:451:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us %%%us      PHE  CHR %%%us %%%us         POS1         POS2         KB     NSNP  DENSITY     PHOM     PHET\n", plink_maxfid, plink_maxiid, plink_maxsnp, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:453: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(&(outname_end[4]), ".indiv", 7);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:457:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us %%%us  PHE     NSEG       KB    KBAVG\n", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:467: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(memseta(g_textbuf, 32, plink_maxfid - slen), cptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:469: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(memseta(wptr_iid, 32, plink_maxiid - slen), cptr2, slen);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:572: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(&(outname_end[5]), "summary", 8);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:576:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " CHR %%%us           BP      AFF    UNAFF\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:626: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(memseta(wptr_chr, 32, plink_maxsnp - slen), cptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:1610:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
  strcpy(wptr, " of overlapping ROH present.\n");
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:1643: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(outname_end, ".hom.overlap.S", 14);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:1890: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(wptr, ".verbose", 9);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:1907:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_textbuf, "       %%%us %%%us  GRP \n", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2230:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, " POOL %%%us %%%us      PHE  CHR %%%us %%%us            BP1            BP2       KB     NSNP NSIM    GRP\n", plink_maxfid, plink_maxiid, plink_maxsnp, plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2451:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[35];
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2504: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(missing_pheno_str, output_missing_pheno, missing_pheno_len);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2509: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(&(missing_pheno_str[missing_pheno_len]), ".000", 4);
data/plink1.9-1.90~b6.21-201019/plink_lasso.c:294: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(residuals, pheno_d_collapsed, sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_lasso.c:589: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(outname_end, ".lambdamin", 11);
data/plink1.9-1.90~b6.21-201019/plink_lasso.c:856: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(residuals, pheno_d_collapsed, sample_valid_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_lasso.c:1186: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(outname_end, ".lasso", 7);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:697:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".prune.in");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:717:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(outname_end, ".prune.out");
data/plink1.9-1.90~b6.21-201019/plink_ld.c:914: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(pruned_arr, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1252: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(&(geno[uii * founder_ct_192_long]), &(geno[ujj * founder_ct_192_long]), founder_ct_192_long * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1253: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(&(geno_masks[uii * founder_ct_192_long]), &(geno_masks[ujj * founder_ct_192_long]), founder_ct_192_long * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1255: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(&(nonmale_geno[uii * founder_ct_192_long]), &(nonmale_geno[ujj * founder_ct_192_long]), founder_ct_192_long * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1256: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(&(nonmale_masks[uii * founder_ct_192_long]), &(nonmale_masks[ujj * founder_ct_192_long]), founder_ct_192_long * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1258: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(&(geno_mmasks[uii * founder_ctaw]), &(geno_mmasks[ujj * founder_ctaw]), founder_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1566: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(founder_phenos[0], founder_info, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1571: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(founder_phenos[1], founder_phenos[0], unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1641: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(outname_end, ".flipscan", 10);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:1652: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(&(outname_end[9]), ".verbose", 9);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:3646: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(mu0_tmp, mu_tmp, 18 * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:3720: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(ularr, &interaction_measure, sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:3724: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(chisq_ptr, ularr, sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:4716:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 geno_pair_present[12];
data/plink1.9-1.90~b6.21-201019/plink_ld.c:4783: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(&(param_2d_buf[param_idx * 4]), param_1d_buf2, 4 * sizeof(float));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:5157: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(cur_geno1_male, cur_geno1, founder_ctsplit * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6343:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6471: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(final_set, targets, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6516: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(outname_end, ".tags.list", 11);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6520:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_textbuf, "%%%us  CHR         BP NTAG       LEFT      RIGHT   KBSPAN TAGS\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:6710: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(outname_end, ".tags", 6);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7209: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(founder_pnm, founder_info, unfiltered_sample_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7223: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(marker_exclude, marker_exclude_orig, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7251: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(outname_end, ".blocks.det", 12);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7654:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char spaces[7];
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8067: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(outname_end, ".twolocus", 10);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8516: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(outname_end, ".epi.qt", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8561: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(wptr, " ... ", 6);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8987: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(outname_end, ".epi.cc", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9030: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(wptr, " ... ", 6);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9501: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(marker_exclude2, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9503: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(marker_exclude2, marker_exclude1, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9508:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Too few cases or controls for --je-cellmin %u.\n", epi_ip->je_cellmin);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9610: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(ulptr, marker_exclude2, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9733: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(outname_end, ".epi.co", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9736: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(outname_end, ".epi.cc", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:9864: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(wptr, " ... ", 6);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10080: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(&(g_epi_best_chisq1[g_epi_idx1_block_bounds16[tidx]]), &(g_epi_all_chisq[marker_idx1 + ulii]), (uljj - ulii) * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10088: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(&(g_epi_best_chisq2[tidx * idx2_block_sizea16 + ulii]), &(g_epi_all_chisq[marker_idx2 + ulii]), (cur_idx2_block_size - ulii) * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10200: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(ularr, &dxx, sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10204: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(&dxx, ularr, sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10265: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(&(outname_end[7]), ".summary", 9);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10515: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(pruned_arr, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10595: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(tot1, &(cur_tots[ulii * 3]), 3 * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10598: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(cur_geno1_male, cur_geno1, founder_ctsplit * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10703: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(&(geno[ulii * founder_ctsplit]), &(geno[uljj * founder_ctsplit]), founder_ctsplit * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10706: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(&(cur_tots[ulii * 3]), &(cur_tots[uljj * 3]), 3 * sizeof(int32_t));
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10820: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(newptr->strbuf, marker_id, marker_id_len);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:10937: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(inprefix_end, "1", 2);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11028: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(&(bufptr[chrom_len + 1]), best_marker_ptr, id_len);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11418: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(outname_end, ".missing.hap", 13);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11422:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us  HAPLOTYPE      F_0      F_1                 M_H1                 M_H2    CHISQ        P FLANKING\n", plink_maxsnp);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11843:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char charbuf[8];
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12157: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(charbuf, outname_end, 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12158: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(outname_end, ".ldset", 7);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12203: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(outname_end, charbuf, 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12880: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, ujj);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12885: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(sorted_header_dict, "SNP", 4);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12894: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, ujj);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12899: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(&(sorted_header_dict[ulii * max_header_len]), "P", 2);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12907: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, ujj);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13255: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(outname_end, ".clumped", 9);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13274: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(&(outname_end[8]), ".ranges", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13298: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(&(outname_end[8]), ".best", 6);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:14013: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(bufptr, bufptr2, ujj + 1);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:14057: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(&(outname_end[8]), ".ranges", 8);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:14061: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(&(outname_end[8]), ".best", 6);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:84: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(wptr, pat_ptr, cur_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:94: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(wptr, mat_ptr, cur_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:101: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(pat_ptr, "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:102: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(mat_ptr, "0", 2);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:132: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(outname_end, ".nosex", 7);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:193:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --make-pheno file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:201:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --make-pheno file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:290:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --pheno file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:355:11:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
          sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --pheno file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:425:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --pheno file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:531: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(bufptr, at_sign_ptr, post_at_sign_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:568:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --cm-map file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:581:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of --cm-map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:585:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: bp coordinates in --cm-map file are not in increasing order ('%d' on line %" PRIuPTR " is not larger than previous value '%d').\n", bp_new, line_idx, bp_old);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:594:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Invalid centimorgan position on line %" PRIuPTR " of --cm-map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:601:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Invalid recombination rate on line %" PRIuPTR " of --cm-map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:643:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --cm-map file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:702:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-cm file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:739:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid centimorgan position on line %" PRIuPTR " of --update-cm file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:761:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-cm file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:828:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-map file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:865:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid bp coordinate on line %" PRIuPTR " of --update-map file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:917:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-map file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:956: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(marker_ids_copy, marker_ids, unfiltered_marker_ct * max_marker_id_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1007: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(&(marker_ids[marker_uidx * max_marker_id_len]), colnew_ptr, slen + 1);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1085:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-alleles file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1156: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(outname_end, ".allele.no.snp", 15);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1322: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(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1394:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-ids file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1420:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid IID '0' on line %" PRIuPTR " of --update-ids file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1595:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-sex file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1626:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Invalid sex value on line %" PRIuPTR " of --update-sex file.\n(Acceptable values: 1/M = male, 2/F = female, 0 = missing.)\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1663:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --update-sex file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2079:8:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	      sprintf(g_logbuf, "Error: Invalid het count on line %" PRIuPTR " of --read-freq file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2086:8:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	      sprintf(g_logbuf, "Error: Invalid hap. A1 count on line %" PRIuPTR " of --read-freq file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2090:8:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	      sprintf(g_logbuf, "Error: Invalid hap. A2 count on line %" PRIuPTR " of --read-freq file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2156:6:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --read-freq has more tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2201:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Invalid chromosome code on line %" PRIuPTR" of --read-freq file.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2364:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Fewer tokens than expected on line %" PRIuPTR " of --a%c-allele file.\n", line_idx, is_a2? '2' : '1');
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2486: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(outname_end, output_gz? ".frq.strat.gz" : ".frq.strat", output_gz? 14 : 11);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2710: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(nonmale_vec, ctrl_include2, unfiltered_sample_ctl2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2732: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(bufptr, ".gz", 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2885: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(bufptr, ".gz", 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3175: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(outname_end, ".sexcheck", 10);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3320: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(outname_end, ".snplist", 9);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3322: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(outname_end, ".indel", 7);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3388: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(outname_end, ".var.ranges", 12);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3471: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(outname_end, ".dupvar", 8);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3835: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(loadbuf_f, loadbuf, sample_ctl2 * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3882: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(outname_end, output_gz? ".het.gz" : ".het", output_gz? 8 : 5);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3887:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(g_textbuf, "%%%us %%%us       O(HOM)       E(HOM)        N(NM)            F\n", plink_maxfid, plink_maxiid);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4062: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(outname_end, ".fst", 5);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4260:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char missing_pheno_str[32];
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4380: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(outname_end, ".nopred", 8); // bugfix, this was after the goto before
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4461:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --score file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4554:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	  sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --q-score-range data file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4617: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(&(missing_pheno_str[6 - missing_pheno_len]), output_missing_pheno, missing_pheno_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4620: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(missing_pheno_str, output_missing_pheno, missing_pheno_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4642:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --q-score-range range file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4656:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(g_logbuf, "Error: Excessively long range name on line %" PRIuPTR " of --q-score-range range\nfile.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4847: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(bufptr, ".profile", 9);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4849: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(outname_end, ".profile", 9);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4921:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --score file has fewer tokens than expected.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5395: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5400: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(sorted_header_dict, "SNP", 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5407: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(&(sorted_header_dict[ulii * max_header_len]), "BETA", 5);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5415: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5429: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5434: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(&(sorted_header_dict[ulii * max_header_len]), "P", 2);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5443: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5448: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(&(sorted_header_dict[ulii * max_header_len]), "NMISS", 6);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5458:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5463: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(&(sorted_header_dict[ulii * max_header_len]), "CHR", 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5471:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5485: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5498: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(&(sorted_header_dict[ulii * max_header_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5711: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(duplicate_id_htable_write->ss, bufptr, var_id_len);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5823: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(ll_ptr->ss, &uii, file_ct_byte_width);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5831: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(outname_end, ".prob", 6);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5899: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(&cur_file_ct_m1, ll_ptr->ss, file_ct_byte_width);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5905: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(&uii, &(ll_ptr->ss[file_ct_byte_width + 1]), 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5917: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(wptr, &slen, combined_allele_len_byte_width);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5944: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(outname_end, ".meta", 6);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6009: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(&cur_file_ct_m1, bufptr2, file_ct_byte_width);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6020: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(&cur_combined_allele_len, &(bufptr2[file_ct_byte_width]), combined_allele_len_byte_width);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6059: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(&(bufptr2[max_var_id_len_p1]), &uii, 4);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6132: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(duplicate_id_htable_write->ss, bufptr, var_id_len + 1);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6194: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(&cur_var_idx, &(cur_window_marker_ids[(((uint32_t)ii) * max_var_id_len_p5) + max_var_id_len_p1]), 4);
data/plink1.9-1.90~b6.21-201019/plink_perm.c:159: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(perm_vec, preimage, QUATERCT_TO_ALIGNED_WORDCT(tot_ct) * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_perm.c:221: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(perm_vec, preimage, tot_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_perm.c:623: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(perm_vecst, wbuf, 16);
data/plink1.9-1.90~b6.21-201019/plink_perm.c:634: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(perm_vecst, wbuf, 16);
data/plink1.9-1.90~b6.21-201019/plink_perm.c:677: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(perm_vecst, wbuf, 16);
data/plink1.9-1.90~b6.21-201019/plink_perm.c:688: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(perm_vecst, wbuf, 16);
data/plink1.9-1.90~b6.21-201019/plink_perm.c:813: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(outname_end, ".pphe", 6);
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:55:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char chrom_name_buf[3 + MAX_CHROM_TEXTNUM_SLEN];
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:114:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(g_logbuf, "Error: Line %" PRIuPTR " of --R file is pathologically long.\n", line_idx);
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:169: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(&(covar_d2[sample_idx * covar_ct]), &(covar_d[sample_uidx * covar_ct]), covar_ct * sizeof(double));
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:222: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(outname_end, ".auto.R", 8);
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:224: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(outname_end, ".debug.R", 9);
data/plink1.9-1.90~b6.21-201019/plink_set.c:371:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  memcpy(ll_tmp->ss, bufptr3, uii);
data/plink1.9-1.90~b6.21-201019/plink_set.c:382: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(&(ll_tmp->ss[4]), bufptr3, uii - 4);
data/plink1.9-1.90~b6.21-201019/plink_set.c:424:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  memcpy(&(set_names[ulii * max_set_id_len]), "C_", 2);
data/plink1.9-1.90~b6.21-201019/plink_set.c:517: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(bufptr3, "C_", 2);
data/plink1.9-1.90~b6.21-201019/plink_set.c:806: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(&((*set_range_pp)[4]), &(marker_bitfield_tmp[bound_bottom_d128 / BITCT]), mem_req - 16);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1093: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(&(sorted_genekeep_ids[ulii * max_genekeep_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1166: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(&(sorted_subset_ids[ulii * max_subset_id_len]), bufptr, slen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1264:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1376:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1422: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(set_names, sip->merged_set_name, max_set_id_len);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1574:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(bufptr3, bufptr, curtoklen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1645: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(sip->names, sip->merged_set_name, uii);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1716: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(outname_end, ".set.table", 11);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1817: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(outname_end, ".set", 5);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1907: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(&(include_bitfield[range_start / BITCT]), (uintptr_t*)(&(setdef[4])), ((range_ct + 127) / 128) * 16);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1936: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(new_exclude, marker_exclude, unfiltered_marker_ctl * sizeof(intptr_t));
data/plink1.9-1.90~b6.21-201019/plink_set.c:2616: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(ll_ptr->ss, bufptr2, slen);
data/plink1.9-1.90~b6.21-201019/plink_set.c:2920: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(outname_end, ".annot", 7);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3619: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(outname_end, ".range.report", 14);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3637:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(g_textbuf, " -- ");
data/plink1.9-1.90~b6.21-201019/prettify.c:40: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 pathbuf[FNAMESIZE * 2 + 128];
data/plink1.9-1.90~b6.21-201019/prettify.c:79:17:  [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).
  *target_ptr = fopen(fname, mode);
data/plink1.9-1.90~b6.21-201019/prettify.c:131: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 g_readbuf[BUFSIZE];
data/plink1.9-1.90~b6.21-201019/prettify.c:386:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&(rjustify_buf[rjbuf_len]), readptr, token_end - readptr);
data/plink1.9-1.90~b6.21-201019/prettify.c:486: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).
      ii = atoi(argv[param_idx]);
data/plink1.9-1.90~b6.21-201019/prettify.c:558: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(outname, argv[infile_param_idx], uii);
data/plink1.9-1.90~b6.21-201019/prettify.c:559: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(&(outname[uii]), "-temporary", 11);
data/plink1.9-1.90~b6.21-201019/sisocks.h:176:14:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    default: sprintf(buf,"unknown socket error %d",sockerrno);
data/plink1.9-1.90~b6.21-201019/sisocks.h:189: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 sock_err_buf[72];
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:126:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int tl=strlen(txt)+1;
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:167:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int Rmessage::read(int s) {
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:644:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int q = msg->read(s);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:702:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return msg->read(s);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:711:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return targetMsg->read(s);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:729:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int tl=strlen(symbol)+1;
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:900:26:  [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).
  authbuf=(char*) malloc(strlen(user)+strlen(pwd)+22);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:900: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).
  authbuf=(char*) malloc(strlen(user)+strlen(pwd)+22);
data/plink1.9-1.90~b6.21-201019/Rconnection.cc:901: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).
  strcpy(authbuf, user); c=authbuf+strlen(user);
data/plink1.9-1.90~b6.21-201019/Rconnection.h:93:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int read(int s);
data/plink1.9-1.90~b6.21-201019/Rconnection.h:267:50:  [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).
    Rstring(const char *str) : Rexp(XT_STR, str, strlen(str)+1) {}
data/plink1.9-1.90~b6.21-201019/bgzf.c:977: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).
        int blen = strlen(bname);
data/plink1.9-1.90~b6.21-201019/bgzf.c:978: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).
        int slen = strlen(suffix);
data/plink1.9-1.90~b6.21-201019/bgzf.c:1024: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).
        int blen = strlen(bname);
data/plink1.9-1.90~b6.21-201019/bgzf.c:1025: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).
        int slen = strlen(suffix);
data/plink1.9-1.90~b6.21-201019/hfile.c:118:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        n = fp->backend->read(fp, fp->end, fp->limit - fp->end);
data/plink1.9-1.90~b6.21-201019/hfile.c:158:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ssize_t n = fp->backend->read(fp, dest, nbytes);
data/plink1.9-1.90~b6.21-201019/hfile.c:329:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        n = read(fp->fd, buffer, nbytes);
data/plink1.9-1.90~b6.21-201019/hfile.h:178: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).
    size_t nbytes = strlen(text), n = fp->limit - fp->begin;
data/plink1.9-1.90~b6.21-201019/hfile_internal.h:34:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ssize_t (*read)(hFILE *fp, void *buffer, size_t nbytes) HTS_RESULT_USED;
data/plink1.9-1.90~b6.21-201019/plink.c:473:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bedname);
data/plink1.9-1.90~b6.21-201019/plink.c:484:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bedname);
data/plink1.9-1.90~b6.21-201019/plink.c:491:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bimname);
data/plink1.9-1.90~b6.21-201019/plink.c:498:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(famname);
data/plink1.9-1.90~b6.21-201019/plink.c:544:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bedname);
data/plink1.9-1.90~b6.21-201019/plink.c:2551: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).
    line_byte_ct = strlen(g_textbuf) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:2630:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen2 = strlen(argptr2);
data/plink1.9-1.90~b6.21-201019/plink.c:2726:19:  [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).
  uint32_t slen = strlen(source) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:2736:19:  [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).
  uint32_t slen = strlen(source) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:2754:19:  [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).
    totlen += 1 + strlen(sources[param_idx]);
data/plink1.9-1.90~b6.21-201019/plink.c:2787:19:  [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).
    totlen += 1 + strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink.c:2814:19:  [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).
  uint32_t slen = strlen(*params_ptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:3599:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (strlen(argptr) >= MAX_FLAG_LEN) {
data/plink1.9-1.90~b6.21-201019/plink.c:3645:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ukk = strlen(argptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:3935:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (strlen(argv[ujj + 1]) > (FNAMESIZE - MAX_POST_EXT)) {
data/plink1.9-1.90~b6.21-201019/plink.c:3939:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(argv[ujj + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4050: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).
	ii = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4366:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:4505:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  ujj = strlen(argv[cur_arg + uii]);
data/plink1.9-1.90~b6.21-201019/plink.c:4593:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:4611:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(argv[cur_arg + 2]);
data/plink1.9-1.90~b6.21-201019/plink.c:4638:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(csptr) > (FNAMESIZE - 5)) {
data/plink1.9-1.90~b6.21-201019/plink.c:4660: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:4673: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:4686: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4693:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  jj = strlen(argv[cur_arg + 2]) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:4699:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  jj = strlen(argv[cur_arg + 3]) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:4755:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:4804:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:4819: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:5128:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink.c:6025:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(csptr) > (FNAMESIZE - 8)) {
data/plink1.9-1.90~b6.21-201019/plink.c:6141: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(argv[cur_arg + 1]) > 4) && (!memcmp(argv[cur_arg + 1], "exp=", 4))) {
data/plink1.9-1.90~b6.21-201019/plink.c:6312: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).
	  } else if (strlen(argv[cur_arg + uii]) <= 6) {
data/plink1.9-1.90~b6.21-201019/plink.c:6389:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:6579:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(csptr) > (FNAMESIZE - 5)) {
data/plink1.9-1.90~b6.21-201019/plink.c:6596: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:6954: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:7022:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(sptr) > (FNAMESIZE - 8)) {
data/plink1.9-1.90~b6.21-201019/plink.c:7040:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(sptr) > (FNAMESIZE - 11)) {
data/plink1.9-1.90~b6.21-201019/plink.c:7092:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink.c:7557:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7594:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:7902:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if (strlen(csptr) > FNAMESIZE - 6) {
data/plink1.9-1.90~b6.21-201019/plink.c:7926: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:7948:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if ((strlen(argv[cur_arg + 1]) == 7) && (!memcmp(argv[cur_arg + 1], "keep-", 5)) && match_upper(&(argv[cur_arg + 1][5]), "NA")) {
data/plink1.9-1.90~b6.21-201019/plink.c:7950:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + 2]) != 7) || memcmp(argv[cur_arg + 2], "keep-", 5) || (!match_upper(&(argv[cur_arg + 2][5]), "NA"))) {
data/plink1.9-1.90~b6.21-201019/plink.c:8018:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:8327: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:8347: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8697: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:8704:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  jj = strlen(argv[cur_arg + 2]) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:8730: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).
	jj = strlen(argv[cur_arg + 1]) + 1;
data/plink1.9-1.90~b6.21-201019/plink.c:8845:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:9190:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:9773: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:9866: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:10333:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:11005: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(argv[cur_arg + 1]) > (FNAMESIZE - 1)) {
data/plink1.9-1.90~b6.21-201019/plink.c:11405:26:  [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).
	  const uint32_t slen = strlen(cur_modif);
data/plink1.9-1.90~b6.21-201019/plink.c:11697: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11712:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11739: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).
	jj = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:11940:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:12007:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + uii]) > 6) && (!memcmp(argv[cur_arg + uii], "mperm=", 6))) {
data/plink1.9-1.90~b6.21-201019/plink.c:12412:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(argv[cur_arg + 1]);
data/plink1.9-1.90~b6.21-201019/plink.c:12579:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  if ((strlen(argv[cur_arg + 1]) == 7) && (!memcmp(argv[cur_arg + 1], "keep-", 5)) && match_upper(&(argv[cur_arg + 1][5]), "NA")) {
data/plink1.9-1.90~b6.21-201019/plink.c:12581:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  } else if ((strlen(argv[cur_arg + 2]) != 7) || memcmp(argv[cur_arg + 2], "keep-", 5) || (!match_upper(&(argv[cur_arg + 2][5]), "NA"))) {
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:421:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uii = strlen(outname_end);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8685:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(a1ptr);
data/plink1.9-1.90~b6.21-201019/plink_assoc.c:8686:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  ujj = strlen(a2ptr);
data/plink1.9-1.90~b6.21-201019/plink_calc.c:5297:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          uii = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:151:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(cluster_name_ptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:183:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    slen = strlen(cluster_name_ptr);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:259:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    slen = strlen(cluster_name_ptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:722: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).
      slen = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1530: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).
      missing_len = strlen(missing_str);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1707:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1708:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(bufptr2);
data/plink1.9-1.90~b6.21-201019/plink_cluster.c:1766:19:  [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).
    missing_len = strlen(missing_str);
data/plink1.9-1.90~b6.21-201019/plink_cnv.c:986: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).
        uii = strlen(cnvname);
data/plink1.9-1.90~b6.21-201019/plink_common.c:80:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uintptr_t str_bytes = strlen(ss) + 1;
data/plink1.9-1.90~b6.21-201019/plink_common.c:906:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(multistr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_common.c:3949: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).
      slen = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink_common.c:3987: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).
      slen = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4631:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(chrom_info_ptr->nonstd_names[chrom_idx]);
data/plink1.9-1.90~b6.21-201019/plink_common.c:4659:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      const uint32_t name_slen = strlen(chrom_info_ptr->nonstd_names[chrom_idx]);
data/plink1.9-1.90~b6.21-201019/plink_common.c:5181:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uintptr_t slen_p1 = strlen(idstr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_common.h:106:27:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    #define getc_unlocked getc
data/plink1.9-1.90~b6.21-201019/plink_common.h:1445: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).
  uintptr_t slen = strlen((char*)source);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1451: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).
  uintptr_t slen = strlen((char*)source);
data/plink1.9-1.90~b6.21-201019/plink_common.h:1541: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).
  return fw_strcpyn(min_width, strlen(source), source, dest);
data/plink1.9-1.90~b6.21-201019/plink_common.h:2431:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return bsearch_str(id_buf, strlen(id_buf), lptr, max_id_len, end_idx);
data/plink1.9-1.90~b6.21-201019/plink_data.c:435:41:  [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).
  uint32_t from_slen = markername_from? strlen(markername_from) : 0;
data/plink1.9-1.90~b6.21-201019/plink_data.c:436: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).
  uint32_t to_slen = markername_to? strlen(markername_to) : 0;
data/plink1.9-1.90~b6.21-201019/plink_data.c:437: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).
  uint32_t snp_slen = markername_snp? strlen(markername_snp) : 0;
data/plink1.9-1.90~b6.21-201019/plink_data.c:501: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).
      missing_marker_id_match_len = strlen(missing_marker_id_match);
data/plink1.9-1.90~b6.21-201019/plink_data.c:564:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_data.c:1720:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uintptr_t omplen_p1 = strlen(output_missing_pheno) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:2295:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uintptr_t omplen = strlen(output_missing_pheno);
data/plink1.9-1.90~b6.21-201019/plink_data.c:4119:24:  [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).
      pheno_name_len = strlen(pheno_name);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5310:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cur_slen = strlen(loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5803:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(mapname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:5958:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	ulii = strlen(loadbuf) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:6052: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).
      ulii = strlen(bufptr) + (uintptr_t)(bufptr - loadbuf) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:6932: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).
      ulii = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7133: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).
      ulii = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7481:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(salleles[1]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7491:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(salleles[0]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:7781: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).
    const_fid_len = strlen(const_fid);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8008:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(vcfname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:8033:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:9230:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:9386: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).
      const uint32_t chrom_name_slen = strlen(contig_list->ss);
data/plink1.9-1.90~b6.21-201019/plink_data.c:9989:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(write_cache);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11387:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    name_prefix_len = strlen(name_prefix);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11625: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).
  uintptr_t alen1 = strlen(allele1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11626: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).
  uintptr_t alen2 = strlen(allele2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11645: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).
  uintptr_t alen1 = strlen(allele1);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11646: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).
  uintptr_t alen2 = strlen(allele2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11850:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    alen = strlen(aptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11864:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  alen = strlen(aptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:11942:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    return (bgzf_write(bgz_outfile, buf, strlen(buf)) < 0);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12157:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ulii = strlen(output_missing_pheno);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12182: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).
      uljj = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12426:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		alen = strlen(mk_allele_ptrs[marker_uidx * 2]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12427:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		alen2 = strlen(mk_allele_ptrs[marker_uidx * 2 + 1]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12447: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).
	      alen = strlen(mk_allele_ptrs[marker_uidx * 2]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:12448:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	      alen2 = strlen(mk_allele_ptrs[marker_uidx * 2 + 1]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13269:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	alen = strlen(aptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13270:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	alen2 = strlen(aptr2);
data/plink1.9-1.90~b6.21-201019/plink_data.c:13955:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	alen = strlen(aptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14551:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(famname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14583:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  uii = strlen(famname);
data/plink1.9-1.90~b6.21-201019/plink_data.c:14670: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).
      ulii += strlen(g_textbuf) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:14789:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15028:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cur_slen = strlen(cur_ptr->ss);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15121: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 (allele_reset(new_allele, strlen(new_allele), &(marker_allele_ptrs[canonical_marker_uidx * 2]))) {
data/plink1.9-1.90~b6.21-201019/plink_data.c:15125: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 (allele_reset(new_allele, strlen(new_allele), &(marker_allele_ptrs[canonical_marker_uidx * 2 + 1]))) {
data/plink1.9-1.90~b6.21-201019/plink_data.c:15294:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  slen = strlen(ma1p[newval]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15295:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  slen2 = strlen(ma2p[newval]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15304:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  slen = strlen(ma1p[oldval]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:15305:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  slen2 = strlen(ma2p[oldval]);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16367:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:16372:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii += strlen(&(bufptr[uii]));
data/plink1.9-1.90~b6.21-201019/plink_data.c:16388:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_data.c:16393:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii += strlen(&(bufptr[uii]));
data/plink1.9-1.90~b6.21-201019/plink_data.c:16413:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	uii = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_data.c:16415: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).
	if (fwrite_checked(bufptr, uii + strlen(&(bufptr[uii])), outfile)) {
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1156:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    missing_pheno_len = strlen(output_missing_pheno);
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:1367:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(doip->fname) + 1;
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2269:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(ll_ptr->ss) + 1;
data/plink1.9-1.90~b6.21-201019/plink_dosage.c:2282:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:195:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(iidptr);
data/plink1.9-1.90~b6.21-201019/plink_family.c:205:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(pidptr1);
data/plink1.9-1.90~b6.21-201019/plink_family.c:232:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(pidptr2);
data/plink1.9-1.90~b6.21-201019/plink_family.c:566:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    alens[0] = strlen(allele_ptrs[0]);
data/plink1.9-1.90~b6.21-201019/plink_family.c:567:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    alens[1] = strlen(allele_ptrs[1]);
data/plink1.9-1.90~b6.21-201019/plink_family.c:878:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	varlen = strlen(varptr);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1316:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ujj = strlen(&(sample_ids[sample_uidx * max_sample_id_len + ujj]));
data/plink1.9-1.90~b6.21-201019/plink_family.c:1532:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  ujj = strlen(id_ptr);
data/plink1.9-1.90~b6.21-201019/plink_family.c:1547:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  ujj = strlen(id_ptr);
data/plink1.9-1.90~b6.21-201019/plink_family.c:2763: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).
      slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_family.c:6086: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).
	const uint32_t child_sample_id_slen = strlen(child_sample_id);
data/plink1.9-1.90~b6.21-201019/plink_family.c:6265:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	const uint32_t iid_slen = strlen(iid_start);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:213:57:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uint32_t variant_uidx = id_htable_find(cur_varid, strlen(cur_varid), variant_id_htable, variant_id_htable_size, variant_ids, max_variant_id_blen);
data/plink1.9-1.90~b6.21-201019/plink_filter.c:1479:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3853: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).
      slen = strlen(&(marker_ids[condition_uidxs[uii] * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:3883:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(&(covar_names[uii * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7269: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).
      slen = strlen(&(marker_ids[condition_uidxs[uii] * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:7278: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).
      slen = strlen(&(covar_names[ujj * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8133: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).
      slen = strlen(&(marker_ids[condition_uidxs[uii] * max_marker_id_len]));
data/plink1.9-1.90~b6.21-201019/plink_glm.c:8142: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).
      slen = strlen(&(covar_names[ujj * max_covar_name_len]));
data/plink1.9-1.90~b6.21-201019/plink_help.c:123: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).
	    cur_param_lens[cur_param_idx] = strlen(cur_param_start[cur_param_idx]);
data/plink1.9-1.90~b6.21-201019/plink_help.c:144:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	cur_param_lens[cur_param_idx] = strlen(cur_param_start[cur_param_idx]);
data/plink1.9-1.90~b6.21-201019/plink_help.c:182:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	payload_len = strlen(payload);
data/plink1.9-1.90~b6.21-201019/plink_help.c:265: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).
      help_ctrl.param_lens[arg_idx] = strlen(help_ctrl.argv[arg_idx]);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:468:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(++cptr2);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:506: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).
      slen = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:510: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).
      slen = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:625: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).
      slen = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_homozyg.c:2503:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  missing_pheno_len = strlen(output_missing_pheno);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:2705:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      fixed_a1_len = strlen(fixed_a1);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:2706:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      fixed_a2_len = strlen(fixed_a2);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:5762:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7895: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).
  uintptr_t ulii = strlen(mkr1) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:7896: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).
  uintptr_t uljj = strlen(mkr2) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8062:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  alen00 = strlen(marker_allele_ptrs[2 * marker_uidxs[0]]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8063:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  alen01 = strlen(marker_allele_ptrs[2 * marker_uidxs[0] + 1]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8064:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  alen10 = strlen(marker_allele_ptrs[2 * marker_uidxs[1]]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:8065:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  alen11 = strlen(marker_allele_ptrs[2 * marker_uidxs[1] + 1]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11089:81:  [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 ((lle_ptr->id_len != id_len) || memcmp(lle_ptr->strbuf, id_ptr, id_len) || (strlen(&(lle_ptr->strbuf[id_len])) != chrom_len) || memcmp(&(lle_ptr->strbuf[id_len]), bufptr, chrom_len)) {
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11102: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).
        if ((strlen(&(lle_ptr->strbuf[id_len])) != chrom_len) || memcmp(&(lle_ptr->strbuf[id_len]), bufptr, chrom_len)) {
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11494: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).
	prev_a1len = strlen(marker_allele_ptrs[2 * marker_uidx_prev]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11495: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).
	prev_a2len = strlen(marker_allele_ptrs[2 * marker_uidx_prev + 1]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11499: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).
	next_a1len = strlen(marker_allele_ptrs[2 * marker_uidx_next]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:11500: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).
	next_a2len = strlen(marker_allele_ptrs[2 * marker_uidx_next + 1]);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12166:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12879:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ujj = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12893:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ujj = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:12906:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ujj = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13789:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	a1_len = strlen(cur_a1);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13798:18:  [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).
        a2_len = strlen(cur_a2);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13993:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(sorted_missing_variant_ids);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:13996:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ujj = strlen(bufptr2);
data/plink1.9-1.90~b6.21-201019/plink_ld.c:14005:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  ujj = strlen(bufptr2);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:80:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cur_len = strlen(pat_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:90: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).
    cur_len = strlen(mat_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:162:24:  [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).
  uint32_t mp_strlen = strlen(makepheno_str);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:309: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).
	  tmp_len = strlen(phenoname_str);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:506:26:  [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).
      post_at_sign_len = strlen(at_sign_ptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:508: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).
      const uint32_t chrom_name_slen = strlen(cm_map_chrname);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1700: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).
      slen = strlen(&(cptr2[1]));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1728: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).
      slen = strlen(cptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1743: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).
  uint32_t malen0 = strlen(mastrs_ptr[0]);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:1744: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).
  uint32_t malen1 = strlen(mastrs_ptr[1]);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:2516:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(sptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:3669: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 (id_htable_find(wptr, strlen(wptr), reported_id_htable, reported_id_htable_size, marker_ids, max_marker_id_len) != 0xffffffffU) {
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4614:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  missing_pheno_len = strlen(output_missing_pheno);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:4983: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).
      slen = strlen(bufptr) + (uintptr_t)(bufptr - loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5087:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(bufptr) + (uintptr_t)(bufptr - loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5394:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5414:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5428:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5442:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5457:18:  [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).
          slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5470:18:  [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).
          slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5484:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5497:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5612:19:  [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).
      fname_len = strlen(fname_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5645:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr) + ((uintptr_t)(bufptr - loadbuf));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5660:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(loadbuf);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5666:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + ((uintptr_t)(bufptr - loadbuf));
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5909:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5915:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:5916:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen += strlen(&(bufptr[slen])) + 1;
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6075: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).
	fname_len = strlen(fname_ptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6268: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).
	var_id_len = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_misc.c:6280:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	  slen = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_rserve.c:117:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(inbuf_end);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1048:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      uii = strlen(sip->merged_set_name);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1050:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/plink_set.c:1068:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_set.c:1091:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_set.c:1165:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(bufptr) + 1;
data/plink1.9-1.90~b6.21-201019/plink_set.c:1414:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      max_set_id_len = strlen(sip->merged_set_name) + 1;
data/plink1.9-1.90~b6.21-201019/plink_set.c:1635:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(sip->merged_set_name) + 1;
data/plink1.9-1.90~b6.21-201019/plink_set.c:2505:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      snp_field_len = strlen(snp_field);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3403:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(&(bufptr[4]));
data/plink1.9-1.90~b6.21-201019/plink_set.c:3443:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      snp_field_len = strlen(snp_field);
data/plink1.9-1.90~b6.21-201019/plink_set.c:3581:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    slen = strlen(bufptr);
data/plink1.9-1.90~b6.21-201019/prettify.c:553:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    uii = strlen(argv[infile_param_idx]);
data/plink1.9-1.90~b6.21-201019/sisocks.h:159:17:  [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.
    case EBADF: strncpy(buf,"bad descriptor",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:160:18:  [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.
    case EINVAL: strncpy(buf,"already in use",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:161:18:  [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.
    case EACCES: strncpy(buf,"access denied",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:162:20:  [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.
    case ENOTSOCK: strncpy(buf,"descriptor is not a socket",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:163:22:  [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.
    case EOPNOTSUPP: strncpy(buf,"operation not supported",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:164:18:  [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.
    case EFAULT: strncpy(buf,"fault",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:165:23:  [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.
    case EWOULDBLOCK: strncpy(buf,"operation would block",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:166:19:  [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.
    case EISCONN: strncpy(buf,"is already connected",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:167:24:  [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.
    case ECONNREFUSED: strncpy(buf,"connection refused",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:168:21:  [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.
    case ETIMEDOUT: strncpy(buf,"operation timed out",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:169:23:  [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.
    case ENETUNREACH: strncpy(buf,"network is unreachable",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:170:22:  [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.
    case EADDRINUSE: strncpy(buf,"address already in use",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:171:23:  [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.
    case EINPROGRESS: strncpy(buf,"in progress",blen); break;
data/plink1.9-1.90~b6.21-201019/sisocks.h:172:20:  [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.
    case EALREADY: strncpy(buf,"previous connect request not completed yet",blen); break;

ANALYSIS SUMMARY:

Hits = 2169
Lines analyzed = 146838 in approximately 3.80 seconds (38614 lines/second)
Physical Source Lines of Code (SLOC) = 128540
Hits@level = [0] 284 [1] 286 [2] 1251 [3]   5 [4] 627 [5]   0
Hits@level+ = [0+] 2453 [1+] 2169 [2+] 1883 [3+] 632 [4+] 627 [5+]   0
Hits/KSLOC@level+ = [0+] 19.0836 [1+] 16.8741 [2+] 14.6491 [3+] 4.91676 [4+] 4.87786 [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.