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/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphBicoloring.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphBicoloringInterface.cpp
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphBicoloringInterface.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphCore.cpp
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphCore.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphInputOutput.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphOrdering.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphVertexCover.cpp
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphVertexCover.h
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphBicoloring.cpp
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphInputOutput.cpp
Examining data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphOrdering.cpp
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialColoring.h
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialColoringInterface.cpp
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialColoringInterface.h
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialOrdering.h
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialColoring.cpp
Examining data/colpack-1.0.10/BipartiteGraphPartialColoring/BipartiteGraphPartialOrdering.cpp
Examining data/colpack-1.0.10/GraphColoring/GraphCore.cpp
Examining data/colpack-1.0.10/GraphColoring/GraphCore.h
Examining data/colpack-1.0.10/GraphColoring/GraphInputOutput.h
Examining data/colpack-1.0.10/GraphColoring/GraphOrdering.h
Examining data/colpack-1.0.10/GraphColoring/GraphColoring.cpp
Examining data/colpack-1.0.10/GraphColoring/GraphColoring.h
Examining data/colpack-1.0.10/GraphColoring/GraphColoringInterface.cpp
Examining data/colpack-1.0.10/GraphColoring/GraphColoringInterface.h
Examining data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp
Examining data/colpack-1.0.10/GraphColoring/GraphOrdering.cpp
Examining data/colpack-1.0.10/Main/ColPackHeaders.h
Examining data/colpack-1.0.10/Main/Definitions.h
Examining data/colpack-1.0.10/Main/Main.cpp
Examining data/colpack-1.0.10/Recovery/HessianRecovery.h
Examining data/colpack-1.0.10/Recovery/JacobianRecovery1D.h
Examining data/colpack-1.0.10/Recovery/JacobianRecovery2D.cpp
Examining data/colpack-1.0.10/Recovery/JacobianRecovery2D.h
Examining data/colpack-1.0.10/Recovery/RecoveryCore.cpp
Examining data/colpack-1.0.10/Recovery/RecoveryCore.h
Examining data/colpack-1.0.10/Recovery/HessianRecovery.cpp
Examining data/colpack-1.0.10/Recovery/JacobianRecovery1D.cpp
Examining data/colpack-1.0.10/SampleDrivers/Basic/Generate_seed_matrix_for_Hessian.cpp
Examining data/colpack-1.0.10/SampleDrivers/Basic/Generate_seed_matrix_for_Jacobian.cpp
Examining data/colpack-1.0.10/SampleDrivers/Basic/color_bipartite_graph_using_BipartiteGraphBicoloringInterface.cpp
Examining data/colpack-1.0.10/SampleDrivers/Basic/color_bipartite_graph_using_BipartiteGraphPartialColoringInterface.cpp
Examining data/colpack-1.0.10/SampleDrivers/Basic/color_graph_using_GraphColoringInterface.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADIC/01_Column_compression_and_recovery_for_Jacobian_return_ADIC_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/01_Column_compression_and_recovery_for_Jacobian_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/02_Column_compression_and_recovery_for_Jacobian_return_Coordinate_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/03_Column_compression_and_recovery_for_Jacobian_return_Sparse_Solvers_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/04_Row_compression_and_recovery_for_Jacobian_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/05_Compression_and_direct_recovery_for_Hessian_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/06_Compression_and_direct_recovery_for_Hessian_return_Coordinate_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/07_Compression_and_direct_recovery_for_Hessian_return_Sparse_Solvers_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/08_Compression_and_indirect_recovery_for_Hessian_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/09_Bidirectional_compression_and_recovery_for_Jacobian_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/10_Column_compression_and_recovery_for_Jacobian_return_Row_Compressed_Format__unmanaged_usermem.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/11_Compression_and_direct_recovery_for_Hessian_return_Row_Compressed_Format__unmanaged_usermem.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/ADOL-C/12_Bidirectional_compression_and_recovery_for_Jacobian_return_Row_Compressed_Format__unmanaged_usermem.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/CSR_input/01_Column_compression_and_recovery_for_Jacobian_CSR_input_return_Row_Compressed_Format.cpp
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/SMB/eval_fun_chem.c
Examining data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/SMB/sparse_jac_hess.cpp
Examining data/colpack-1.0.10/Utilities/CoutLock.cpp
Examining data/colpack-1.0.10/Utilities/CoutLock.h
Examining data/colpack-1.0.10/Utilities/DisjointSets.cpp
Examining data/colpack-1.0.10/Utilities/DisjointSets.h
Examining data/colpack-1.0.10/Utilities/File.cpp
Examining data/colpack-1.0.10/Utilities/File.h
Examining data/colpack-1.0.10/Utilities/MatrixDeallocation.cpp
Examining data/colpack-1.0.10/Utilities/MatrixDeallocation.h
Examining data/colpack-1.0.10/Utilities/Pause.cpp
Examining data/colpack-1.0.10/Utilities/Pause.h
Examining data/colpack-1.0.10/Utilities/StringTokenizer.cpp
Examining data/colpack-1.0.10/Utilities/StringTokenizer.h
Examining data/colpack-1.0.10/Utilities/Timer.cpp
Examining data/colpack-1.0.10/Utilities/Timer.h
Examining data/colpack-1.0.10/Utilities/command_line_parameter_processor.cpp
Examining data/colpack-1.0.10/Utilities/command_line_parameter_processor.h
Examining data/colpack-1.0.10/Utilities/current_time.cpp
Examining data/colpack-1.0.10/Utilities/current_time.h
Examining data/colpack-1.0.10/Utilities/extra.h
Examining data/colpack-1.0.10/Utilities/mmio.h
Examining data/colpack-1.0.10/Utilities/stat.h
Examining data/colpack-1.0.10/Utilities/extra.cpp
Examining data/colpack-1.0.10/Utilities/mmio.cpp
Examining data/colpack-1.0.10/Utilities/stat.cpp
Examining data/colpack-1.0.10/main_page.cpp
Examining data/colpack-1.0.10/Example_Use_Library/template.cpp
Examining data/colpack-1.0.10/Example_Try/Main.cpp

FINAL RESULTS:

data/colpack-1.0.10/Utilities/extra.cpp:227:23:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int i_ReturnValue = system(command.c_str());
data/colpack-1.0.10/Utilities/extra.h:263:23:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int i_ReturnValue = system(command.c_str());
data/colpack-1.0.10/Utilities/mmio.cpp:116:9:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
    if (sscanf(line, "%s %s %s %s %s", banner, mtx, crd, data_type,
data/colpack-1.0.10/Utilities/mmio.cpp:456: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).
	return strcpy(s2, s);
data/colpack-1.0.10/Utilities/mmio.cpp:512:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(buffer,"%s %s %s %s", types[0], types[1], types[2], types[3]);
data/colpack-1.0.10/GraphColoring/GraphColoring.cpp:6086:5:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    srand(seed);
data/colpack-1.0.10/Utilities/extra.cpp:909:2:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	srand(time(NULL));
data/colpack-1.0.10/Utilities/extra.cpp:956:2:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	srand(0);
data/colpack-1.0.10/Utilities/extra.cpp:974:2:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	srand(0);
data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphInputOutput.cpp:178: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).
		if ((f = fopen(m_s_InputFile.c_str(), "r")) == NULL)  {
data/colpack-1.0.10/BipartiteGraphBicoloring/BipartiteGraphInputOutput.cpp:208:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		InputStream.open(m_s_InputFile.c_str());
data/colpack-1.0.10/GraphColoring/GraphColoring.cpp:5554:16:  [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).
		OutputStream.open(s_OutputFile.c_str());
data/colpack-1.0.10/GraphColoring/GraphColoring.cpp:5812:16:  [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).
		OutputStream.open(s_OutputFile.c_str(), ios::app);
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:68: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(FieldWidth.c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:197: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).
		if ((f = fopen(m_s_InputFile.c_str(), "r")) == NULL)  {
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:576:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		InputStream.open(m_s_InputFile.c_str());
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:674:33:  [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).
					vi_VertexWeights.push_back(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:687: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).
							i_Vertex = STEP_DOWN(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:705:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
						i_Vertex = STEP_DOWN(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:820:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		InputStream.open(m_s_InputFile.c_str());
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:860:21:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				i_VertexCount = atoi(vs_InputTokens[0].c_str());
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:868: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).
					if(atoi(vs_InputTokens[2].c_str()) == 1)
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:873: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).
					if(atoi(vs_InputTokens[2].c_str()) == 10)
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:878: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).
					if(atoi(vs_InputTokens[2].c_str()) == 11)
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:887:24:  [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).
					i_VertexWeights = atoi(vs_InputTokens[3].c_str());
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:913:33:  [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).
					vi_VertexWeights.push_back(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:925:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
						i_Vertex = STEP_DOWN(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/GraphColoring/GraphInputOutput.cpp:937:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
						i_Vertex = STEP_DOWN(atoi(vs_InputTokens[i].c_str()));
data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/SMB/sparse_jac_hess.cpp:173:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	fp_JP = fopen("jac_full.mtx","w");
data/colpack-1.0.10/SampleDrivers/Matrix_Compression_and_Recovery/SMB/sparse_jac_hess.cpp:296:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	fp_JP = fopen("jac_recovered.mtx","w");
data/colpack-1.0.10/Utilities/extra.cpp:1064: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).
	if ((f = fopen(m_s_InputFile.c_str(), "r")) == NULL)  {
data/colpack-1.0.10/Utilities/mmio.cpp:27: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).
    if ((f = fopen(fname, "r")) == NULL)
data/colpack-1.0.10/Utilities/mmio.cpp:102: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 line[MM_MAX_LINE_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:103: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 banner[MM_MAX_TOKEN_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:104: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 mtx[MM_MAX_TOKEN_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:105: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 crd[MM_MAX_TOKEN_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:106: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 data_type[MM_MAX_TOKEN_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:107: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 storage_scheme[MM_MAX_TOKEN_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:195: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 line[MM_MAX_LINE_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:226: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 line[MM_MAX_LINE_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:345: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).
    if ((f = fopen(fname, "r")) == NULL)
data/colpack-1.0.10/Utilities/mmio.cpp:412: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).
    if ((f = fopen(fname, "w")) == NULL)
data/colpack-1.0.10/Utilities/mmio.cpp:461: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 buffer[MM_MAX_LINE_LENGTH];
data/colpack-1.0.10/Utilities/mmio.cpp:462:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    const char *types[4];
data/colpack-1.0.10/Utilities/mmio.h:16:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
typedef char MM_typecode[4];
data/colpack-1.0.10/Utilities/stat.cpp:48:13:  [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).
		stat_out1.open((baseDir+"NumberOfColors"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:49:13:  [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).
		stat_out2.open((baseDir+"Time"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:50:13:  [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).
		stat_out3.open((baseDir+"MaxBackDegree"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:51:13:  [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).
		stat_out4.open((baseDir+"Graph_Stat"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:58:13:  [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).
		stat_out1.open((baseDir+"NumberOfColors"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:59:13:  [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).
		stat_out2.open((baseDir+"Time"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:60:13:  [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).
		stat_out3.open((baseDir+"MaxBackDegree"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:61:13:  [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).
		stat_out4.open((baseDir+"Graph_Stat"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:203:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:209:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-Coloring"+"-Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:215:24:  [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).
	    out_MaxBackDegree.open((baseDir+"MaxBackDegree"+"-Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:221:21:  [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).
	    out_Graph_Stat.open((baseDir+"Graph_Stat"+"-Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:228:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:233:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:238:24:  [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).
	    out_MaxBackDegree.open((baseDir+"MaxBackDegree"+"-Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:243:21:  [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).
	    out_Graph_Stat.open((baseDir+"Graph_Stat"+"-Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:383:18:  [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).
		out_Graph_Stat.open((baseDir+"Graph_Stat"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:387:18:  [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).
		out_Graph_Stat.open((baseDir+"Graph_Stat"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:431:18:  [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).
		out_Graph_Stat.open((baseDir+"BiGraph_Stat"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:435:18:  [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).
		out_Graph_Stat.open((baseDir+"BiGraph_Stat"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:496:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-BiColoring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:502:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-BiColoring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:509:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-BiColoring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:514:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-BiColoring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:610:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-PD2Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:616:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-PD2Coloring"+stat_output_suffix+".csv").c_str(),ios::app);
data/colpack-1.0.10/Utilities/stat.cpp:623:25:  [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).
	    out_NumberOfColors.open((baseDir+"NumberOfColors"+"-PD2Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/stat.cpp:628:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    out_Time.open((baseDir+"Time"+"-PD2Coloring"+stat_output_suffix+".csv").c_str());
data/colpack-1.0.10/Utilities/Pause.cpp:29:3:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		getchar();
data/colpack-1.0.10/Utilities/mmio.cpp:126:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strncmp(banner, MatrixMarketBanner, strlen(MatrixMarketBanner)) != 0)
data/colpack-1.0.10/Utilities/mmio.cpp:454: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 len = strlen(s);

ANALYSIS SUMMARY:

Hits = 76
Lines analyzed = 41514 in approximately 1.04 seconds (39785 lines/second)
Physical Source Lines of Code (SLOC) = 25392
Hits@level = [0] 185 [1]   3 [2]  64 [3]   4 [4]   5 [5]   0
Hits@level+ = [0+] 261 [1+]  76 [2+]  73 [3+]   9 [4+]   5 [5+]   0
Hits/KSLOC@level+ = [0+] 10.2788 [1+] 2.99307 [2+] 2.87492 [3+] 0.354442 [4+] 0.196912 [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.