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/parsinsert-1.04/AttrList.cpp
Examining data/parsinsert-1.04/AttrList.h
Examining data/parsinsert-1.04/Attrs.h
Examining data/parsinsert-1.04/Knox_Stddef.cpp
Examining data/parsinsert-1.04/Knox_Stddef.h
Examining data/parsinsert-1.04/PNode.cpp
Examining data/parsinsert-1.04/PNode.h
Examining data/parsinsert-1.04/ParsInsert.h
Examining data/parsinsert-1.04/ParsimonySet.h
Examining data/parsinsert-1.04/SeqList.cpp
Examining data/parsinsert-1.04/SeqList.h
Examining data/parsinsert-1.04/Taxonomy.cpp
Examining data/parsinsert-1.04/Taxonomy.h
Examining data/parsinsert-1.04/ParsInsert.cpp

FINAL RESULTS:

data/parsinsert-1.04/Knox_Stddef.cpp:65:2:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	vsprintf(msg, format, args);
data/parsinsert-1.04/Knox_Stddef.cpp:77:2:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	vsprintf(msg, format, args);
data/parsinsert-1.04/Knox_Stddef.cpp:87:2:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	vsprintf(msg, format, args);
data/parsinsert-1.04/Knox_Stddef.h:61:26:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define TRACE if (DEBUG) printf
data/parsinsert-1.04/PNode.cpp:549:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(str, "%s_%04d", "I", id);
data/parsinsert-1.04/PNode.cpp:600:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(str, "%s_%04d", "I", ++(tree->internal));
data/parsinsert-1.04/PNode.cpp:908:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
					sprintf(str, "\'%s:%s\'", boot.c_str(), name.c_str());
data/parsinsert-1.04/PNode.cpp:950:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(str, "{%s=%s}", key.c_str(), value.c_str());
data/parsinsert-1.04/ParsInsert.cpp:1094: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(data, common.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2192:17:  [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(stats, STATS_FORMAT, name.c_str(), 0, buf);
data/parsinsert-1.04/ParsInsert.cpp:2194:21:  [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(stats, STATS_FORMAT2, "",taxCorrect.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2276:25:  [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(stats, TSTATS_FORMAT, name.c_str(), iterB->node->title.c_str(), per, 
data/parsinsert-1.04/ParsInsert.cpp:2375:17:  [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(stats, STATS_FORMAT, name.c_str(),  per, taxBest.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2378:21:  [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(stats, STATS_FORMAT2, "",taxCorrect.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2398:25:  [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(stats, STATS_FORMAT2, "",diffs.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2741:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(comment,"Sites:%d, %d%% diffs[%d,%d,%d], Score:%d, [%s]", in->nSites, per, diffs, parts, indel, in->best.list[0].score, tax.c_str());
data/parsinsert-1.04/ParsInsert.cpp:2840: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(seq->hdr, common.c_str());
data/parsinsert-1.04/ParsimonySet.h:327:5:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
				strcat(str, x);
data/parsinsert-1.04/ParsimonySet.h:357:6:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
					strcat(str, x);
data/parsinsert-1.04/ParsimonySet.h:361:6:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
					strcat(str, x);
data/parsinsert-1.04/SeqList.cpp:111: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(data, _data);
data/parsinsert-1.04/SeqList.cpp:209: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(hdr, buffer);
data/parsinsert-1.04/SeqList.cpp:236: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(hdr, buffer);
data/parsinsert-1.04/SeqList.cpp:258:6:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
					strcat(data, &buffer[i]);
data/parsinsert-1.04/AttrList.cpp:70:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	return atoi(value);
data/parsinsert-1.04/AttrList.cpp:94:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	return (atoi(value) != 0);
data/parsinsert-1.04/AttrList.cpp:130: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 buf[64];
data/parsinsert-1.04/AttrList.cpp:131: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(buf,"%d",value);		// itoa(value, buf, 10);
data/parsinsert-1.04/AttrList.cpp:142: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 buf[64];
data/parsinsert-1.04/AttrList.cpp:143: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(buf, "%f", value);
data/parsinsert-1.04/AttrList.cpp:172: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 buf[64];
data/parsinsert-1.04/AttrList.cpp:173: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(buf, "0x%08X", value);
data/parsinsert-1.04/Knox_Stddef.cpp:45:11:  [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).
	appLog = fopen(filename, mode);
data/parsinsert-1.04/Knox_Stddef.cpp:62: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		msg[64*1024];
data/parsinsert-1.04/Knox_Stddef.cpp:74: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		msg[64*1024];
data/parsinsert-1.04/Knox_Stddef.cpp:84:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char		msg[64*1024];
data/parsinsert-1.04/PNode.cpp:117:13:  [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		*f = fopen(filename, "wb+");
data/parsinsert-1.04/PNode.cpp:533:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char 		str[2048];
data/parsinsert-1.04/PNode.cpp:868:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char		str[2048];
data/parsinsert-1.04/PNode.h:126: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					errorReason[2048];
data/parsinsert-1.04/ParsInsert.cpp:98:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char                *files[64]      = {NULL};
data/parsinsert-1.04/ParsInsert.cpp:130: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				mask[MAX_SEQ_SIZE];
data/parsinsert-1.04/ParsInsert.cpp:261:29:  [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).
                        v = atoi(&argv[i][2]);
data/parsinsert-1.04/ParsInsert.cpp:263:29:  [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).
                        v = atoi(argv[++i]);
data/parsinsert-1.04/ParsInsert.cpp:272:29:  [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).
                        v = atoi(&argv[i][2]);
data/parsinsert-1.04/ParsInsert.cpp:274:29:  [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).
                        v = atoi(argv[++i]);
data/parsinsert-1.04/ParsInsert.cpp:283:29:  [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).
                        v = atoi(&argv[i][2]);
data/parsinsert-1.04/ParsInsert.cpp:285:29:  [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).
                        v = atoi(argv[++i]);
data/parsinsert-1.04/ParsInsert.cpp:296:29:  [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).
                    int v = atoi(&argv[i][2]);
data/parsinsert-1.04/ParsInsert.cpp:323:29:  [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).
                    int v = atoi(&argv[i][2]);
data/parsinsert-1.04/ParsInsert.cpp:529:14:  [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).
    stats  = fopen(statsName, "w");
data/parsinsert-1.04/ParsInsert.cpp:737:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char    str[100*1024];
data/parsinsert-1.04/ParsInsert.cpp:818:14:  [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			*f = fopen(filename, "r");
data/parsinsert-1.04/ParsInsert.cpp:824:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char			buffer[MAX_SEQ_SIZE];
data/parsinsert-1.04/ParsInsert.cpp:858: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).
	FILE				*f = fopen(filename, "r");
data/parsinsert-1.04/ParsInsert.cpp:865: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.
	static		char		newick[50*1024*1024];	// should get the file size for the buffer
data/parsinsert-1.04/ParsInsert.cpp:874: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 buffer[32*1024];
data/parsinsert-1.04/ParsInsert.cpp:890: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(&newick[len], buf, blen-skip);
data/parsinsert-1.04/ParsInsert.cpp:2190:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char   buf[1024];
data/parsinsert-1.04/ParsInsert.cpp:2191:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf(buf, "NO MATCHES found (%d sites in sequence)", inserts[i]->nSites); 
data/parsinsert-1.04/ParsInsert.cpp:2740: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			comment[2*1024];
data/parsinsert-1.04/ParsimonySet.h:73:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(data, other->data, len);
data/parsinsert-1.04/ParsimonySet.h:226: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, other->data, other->len);
data/parsinsert-1.04/ParsimonySet.h:325: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 x[10];
data/parsinsert-1.04/ParsimonySet.h:326: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(x,"%X", data[i]);
data/parsinsert-1.04/ParsimonySet.h:335:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char		x[10];
data/parsinsert-1.04/SeqList.cpp:200: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		buffer[96*1024];
data/parsinsert-1.04/SeqList.cpp:227: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		buffer[MAX_SEQ_SIZE];
data/parsinsert-1.04/SeqList.cpp:376:6:  [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).
	f = fopen(fname.c_str(), mode);
data/parsinsert-1.04/SeqList.cpp:424:13:  [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		*f = fopen(filename, "r");
data/parsinsert-1.04/SeqList.cpp:430:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char				buffer[MAX_SEQ_SIZE];
data/parsinsert-1.04/SeqList.cpp:444:17:  [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).
		long offset = atol(buffer);
data/parsinsert-1.04/SeqList.cpp:446:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
		int len = atoi(sep);
data/parsinsert-1.04/SeqList.cpp:466:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
			int id = atoi(name);
data/parsinsert-1.04/SeqList.cpp:510:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char				buffer[MAX_SEQ_SIZE];
data/parsinsert-1.04/SeqList.cpp:547:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char				buffer[MAX_SEQ_SIZE];
data/parsinsert-1.04/SeqList.cpp:615:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	int					id   = atoi(name);
data/parsinsert-1.04/Knox_Stddef.cpp:91: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).
		int		last = strlen(msg);
data/parsinsert-1.04/Knox_Stddef.cpp:111: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(line) == 0)	continue;
data/parsinsert-1.04/Knox_Stddef.cpp:116: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).
		for (int i=strlen(line) ; i > 0 ; i--)
data/parsinsert-1.04/PNode.cpp:278: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).
	totalProcess = strlen(str);
data/parsinsert-1.04/PNode.cpp:546: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).
	if ((v == NULL) || (strlen(v) == 0))
data/parsinsert-1.04/ParsInsert.cpp:827: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).
		for (int i=0 ; (i < strlen(buffer)) && (m < sizeof(mask)) ; ++i)
data/parsinsert-1.04/ParsInsert.cpp:884: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).
			int blen = strlen(buffer);
data/parsinsert-1.04/ParsInsert.cpp:1822:63:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    CSequenceItem *seq =  new CSequenceItem(name.c_str(), -1, strlen(pars), pars);
data/parsinsert-1.04/ParsInsert.cpp:2428: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).
		string		lower = entry.substr(0, strlen(unclassified));
data/parsinsert-1.04/ParsInsert.cpp:2432:67:  [1] (buffer) strlen:
  Does not handle 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 ((entry.size() > 0) && (strncmp(lower.c_str(), unclassified, strlen(unclassified)) != 0)) // does NOT begin with "Unclassified"
data/parsinsert-1.04/ParsimonySet.h:109: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).
			Allocate(strlen(seq));
data/parsinsert-1.04/ParsimonySet.h:338:4:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
			strcat(str, "[");
data/parsinsert-1.04/ParsimonySet.h:344:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(x, "A");
data/parsinsert-1.04/ParsimonySet.h:346:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(x, "C");
data/parsinsert-1.04/ParsimonySet.h:348:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(x, "G");
data/parsinsert-1.04/ParsimonySet.h:350:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(x, "T");
data/parsinsert-1.04/ParsimonySet.h:352:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(x, ".");
data/parsinsert-1.04/ParsimonySet.h:354: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(x) > 1)
data/parsinsert-1.04/ParsimonySet.h:356:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(str, "{");
data/parsinsert-1.04/ParsimonySet.h:358:6:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
					strcat(str, "}");
data/parsinsert-1.04/ParsimonySet.h:364:4:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
			strcat(str, "]");
data/parsinsert-1.04/ParsimonySet.h:440: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).
				while (strlen(str) > 500)
data/parsinsert-1.04/SeqList.cpp:106: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(_data) > len)
data/parsinsert-1.04/SeqList.cpp:107:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			len = strlen(_data);
data/parsinsert-1.04/SeqList.cpp:205: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(buffer) > 0)
data/parsinsert-1.04/SeqList.cpp:207: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).
			AllocateSeqHeader(strlen(buffer)+1);
data/parsinsert-1.04/SeqList.cpp:232: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(buffer) > 0)
data/parsinsert-1.04/SeqList.cpp:234: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).
			AllocateSeqHeader(strlen(buffer)+1);
data/parsinsert-1.04/SeqList.cpp:257: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(data)+strlen(&buffer[i]) <= len)	
data/parsinsert-1.04/SeqList.cpp:257: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).
				if (strlen(data)+strlen(&buffer[i]) <= len)	
data/parsinsert-1.04/Taxonomy.cpp:59: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(tax) == 0)

ANALYSIS SUMMARY:

Hits = 108
Lines analyzed = 6646 in approximately 0.16 seconds (42796 lines/second)
Physical Source Lines of Code (SLOC) = 4361
Hits@level = [0]  34 [1]  31 [2]  53 [3]   0 [4]  24 [5]   0
Hits@level+ = [0+] 142 [1+] 108 [2+]  77 [3+]  24 [4+]  24 [5+]   0
Hits/KSLOC@level+ = [0+] 32.5613 [1+] 24.765 [2+] 17.6565 [3+] 5.50332 [4+] 5.50332 [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.