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/bandage-0.8.1/blast/blasthit.cpp
Examining data/bandage-0.8.1/blast/blasthit.h
Examining data/bandage-0.8.1/blast/blasthitpart.h
Examining data/bandage-0.8.1/blast/blastqueries.cpp
Examining data/bandage-0.8.1/blast/blastqueries.h
Examining data/bandage-0.8.1/blast/blastquery.cpp
Examining data/bandage-0.8.1/blast/blastquery.h
Examining data/bandage-0.8.1/blast/blastquerypath.cpp
Examining data/bandage-0.8.1/blast/blastquerypath.h
Examining data/bandage-0.8.1/blast/blastsearch.cpp
Examining data/bandage-0.8.1/blast/blastsearch.h
Examining data/bandage-0.8.1/blast/buildblastdatabaseworker.cpp
Examining data/bandage-0.8.1/blast/buildblastdatabaseworker.h
Examining data/bandage-0.8.1/blast/runblastsearchworker.cpp
Examining data/bandage-0.8.1/blast/runblastsearchworker.h
Examining data/bandage-0.8.1/command_line/commoncommandlinefunctions.cpp
Examining data/bandage-0.8.1/command_line/commoncommandlinefunctions.h
Examining data/bandage-0.8.1/command_line/image.cpp
Examining data/bandage-0.8.1/command_line/image.h
Examining data/bandage-0.8.1/command_line/info.cpp
Examining data/bandage-0.8.1/command_line/info.h
Examining data/bandage-0.8.1/command_line/load.cpp
Examining data/bandage-0.8.1/command_line/load.h
Examining data/bandage-0.8.1/command_line/querypaths.cpp
Examining data/bandage-0.8.1/command_line/querypaths.h
Examining data/bandage-0.8.1/command_line/reduce.cpp
Examining data/bandage-0.8.1/command_line/reduce.h
Examining data/bandage-0.8.1/graph/assemblygraph.cpp
Examining data/bandage-0.8.1/graph/assemblygraph.h
Examining data/bandage-0.8.1/graph/debruijnedge.cpp
Examining data/bandage-0.8.1/graph/debruijnedge.h
Examining data/bandage-0.8.1/graph/debruijnnode.cpp
Examining data/bandage-0.8.1/graph/debruijnnode.h
Examining data/bandage-0.8.1/graph/graphicsitemedge.cpp
Examining data/bandage-0.8.1/graph/graphicsitemedge.h
Examining data/bandage-0.8.1/graph/graphicsitemnode.cpp
Examining data/bandage-0.8.1/graph/graphicsitemnode.h
Examining data/bandage-0.8.1/graph/graphlocation.cpp
Examining data/bandage-0.8.1/graph/graphlocation.h
Examining data/bandage-0.8.1/graph/ogdfnode.h
Examining data/bandage-0.8.1/graph/path.cpp
Examining data/bandage-0.8.1/graph/path.h
Examining data/bandage-0.8.1/graph/querydistance.h
Examining data/bandage-0.8.1/ogdf/basic/AdjEntryArray.h
Examining data/bandage-0.8.1/ogdf/basic/Array.h
Examining data/bandage-0.8.1/ogdf/basic/Array2D.h
Examining data/bandage-0.8.1/ogdf/basic/BoundedStack.h
Examining data/bandage-0.8.1/ogdf/basic/CombinatorialEmbedding.cpp
Examining data/bandage-0.8.1/ogdf/basic/CombinatorialEmbedding.h
Examining data/bandage-0.8.1/ogdf/basic/Constraint.cpp
Examining data/bandage-0.8.1/ogdf/basic/Constraints.h
Examining data/bandage-0.8.1/ogdf/basic/CriticalSection.h
Examining data/bandage-0.8.1/ogdf/basic/EdgeArray.h
Examining data/bandage-0.8.1/ogdf/basic/FaceArray.h
Examining data/bandage-0.8.1/ogdf/basic/FaceSet.h
Examining data/bandage-0.8.1/ogdf/basic/Graph.cpp
Examining data/bandage-0.8.1/ogdf/basic/Graph.h
Examining data/bandage-0.8.1/ogdf/basic/GraphAttributes.cpp
Examining data/bandage-0.8.1/ogdf/basic/GraphAttributes.h
Examining data/bandage-0.8.1/ogdf/basic/GraphCopy.cpp
Examining data/bandage-0.8.1/ogdf/basic/GraphCopy.h
Examining data/bandage-0.8.1/ogdf/basic/GraphObserver.h
Examining data/bandage-0.8.1/ogdf/basic/Graph_d.h
Examining data/bandage-0.8.1/ogdf/basic/HashArray.h
Examining data/bandage-0.8.1/ogdf/basic/Hashing.cpp
Examining data/bandage-0.8.1/ogdf/basic/Hashing.h
Examining data/bandage-0.8.1/ogdf/basic/List.h
Examining data/bandage-0.8.1/ogdf/basic/Math.cpp
Examining data/bandage-0.8.1/ogdf/basic/Math.h
Examining data/bandage-0.8.1/ogdf/basic/NodeArray.h
Examining data/bandage-0.8.1/ogdf/basic/SList.h
Examining data/bandage-0.8.1/ogdf/basic/Stack.h
Examining data/bandage-0.8.1/ogdf/basic/String.cpp
Examining data/bandage-0.8.1/ogdf/basic/String.h
Examining data/bandage-0.8.1/ogdf/basic/System.cpp
Examining data/bandage-0.8.1/ogdf/basic/System.h
Examining data/bandage-0.8.1/ogdf/basic/basic.cpp
Examining data/bandage-0.8.1/ogdf/basic/basic.h
Examining data/bandage-0.8.1/ogdf/basic/comparer.h
Examining data/bandage-0.8.1/ogdf/basic/exceptions.h
Examining data/bandage-0.8.1/ogdf/basic/geometry.cpp
Examining data/bandage-0.8.1/ogdf/basic/geometry.h
Examining data/bandage-0.8.1/ogdf/basic/memory.h
Examining data/bandage-0.8.1/ogdf/basic/simple_graph_alg.cpp
Examining data/bandage-0.8.1/ogdf/basic/simple_graph_alg.h
Examining data/bandage-0.8.1/ogdf/basic/tuples.h
Examining data/bandage-0.8.1/ogdf/cluster/ClusterArray.h
Examining data/bandage-0.8.1/ogdf/cluster/ClusterGraph.cpp
Examining data/bandage-0.8.1/ogdf/cluster/ClusterGraph.h
Examining data/bandage-0.8.1/ogdf/cluster/ClusterGraphAttributes.cpp
Examining data/bandage-0.8.1/ogdf/cluster/ClusterGraphAttributes.h
Examining data/bandage-0.8.1/ogdf/cluster/ClusterGraphObserver.h
Examining data/bandage-0.8.1/ogdf/energybased/Edge.h
Examining data/bandage-0.8.1/ogdf/energybased/FMMMLayout.cpp
Examining data/bandage-0.8.1/ogdf/energybased/FMMMLayout.h
Examining data/bandage-0.8.1/ogdf/energybased/MAARPacking.cpp
Examining data/bandage-0.8.1/ogdf/energybased/MAARPacking.h
Examining data/bandage-0.8.1/ogdf/energybased/Multilevel.cpp
Examining data/bandage-0.8.1/ogdf/energybased/Multilevel.h
Examining data/bandage-0.8.1/ogdf/energybased/Node.h
Examining data/bandage-0.8.1/ogdf/energybased/PQueue.h
Examining data/bandage-0.8.1/ogdf/energybased/PackingRowInfo.h
Examining data/bandage-0.8.1/ogdf/energybased/Rectangle.h
Examining data/bandage-0.8.1/ogdf/energybased/Set.cpp
Examining data/bandage-0.8.1/ogdf/energybased/Set.h
Examining data/bandage-0.8.1/ogdf/energybased/numexcept.cpp
Examining data/bandage-0.8.1/ogdf/energybased/numexcept.h
Examining data/bandage-0.8.1/ogdf/fileformats/DinoLineBuffer.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/DinoLineBuffer.h
Examining data/bandage-0.8.1/ogdf/fileformats/DinoTools.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/DinoTools.h
Examining data/bandage-0.8.1/ogdf/fileformats/DinoXmlParser.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/DinoXmlParser.h
Examining data/bandage-0.8.1/ogdf/fileformats/DinoXmlScanner.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/DinoXmlScanner.h
Examining data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/GmlParser.h
Examining data/bandage-0.8.1/ogdf/fileformats/Ogml.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/Ogml.h
Examining data/bandage-0.8.1/ogdf/fileformats/OgmlParser.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/OgmlParser.h
Examining data/bandage-0.8.1/ogdf/fileformats/XmlObject.h
Examining data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp
Examining data/bandage-0.8.1/ogdf/fileformats/XmlParser.h
Examining data/bandage-0.8.1/ogdf/internal/basic/MallocMemoryAllocator.h
Examining data/bandage-0.8.1/ogdf/internal/basic/PoolMemoryAllocator.cpp
Examining data/bandage-0.8.1/ogdf/internal/basic/PoolMemoryAllocator.h
Examining data/bandage-0.8.1/ogdf/internal/basic/list_templates.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/EdgeAttributes.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/EdgeAttributes.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/FruchtermanReingold.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/FruchtermanReingold.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/MultilevelGraph.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/MultilevelGraph.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/NMM.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/NMM.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/NodeAttributes.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/NodeAttributes.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/ParticleInfo.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/QuadTreeNM.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/QuadTreeNM.h
Examining data/bandage-0.8.1/ogdf/internal/energybased/QuadTreeNodeNM.cpp
Examining data/bandage-0.8.1/ogdf/internal/energybased/QuadTreeNodeNM.h
Examining data/bandage-0.8.1/ogdf/module/LayoutModule.h
Examining data/bandage-0.8.1/program/globals.cpp
Examining data/bandage-0.8.1/program/globals.h
Examining data/bandage-0.8.1/program/graphlayoutworker.cpp
Examining data/bandage-0.8.1/program/graphlayoutworker.h
Examining data/bandage-0.8.1/program/main.cpp
Examining data/bandage-0.8.1/program/memory.cpp
Examining data/bandage-0.8.1/program/memory.h
Examining data/bandage-0.8.1/program/scinot.cpp
Examining data/bandage-0.8.1/program/scinot.h
Examining data/bandage-0.8.1/program/settings.cpp
Examining data/bandage-0.8.1/program/settings.h
Examining data/bandage-0.8.1/tests/bandagetests.cpp
Examining data/bandage-0.8.1/ui/aboutdialog.cpp
Examining data/bandage-0.8.1/ui/aboutdialog.h
Examining data/bandage-0.8.1/ui/blasthitfiltersdialog.cpp
Examining data/bandage-0.8.1/ui/blasthitfiltersdialog.h
Examining data/bandage-0.8.1/ui/blastsearchdialog.cpp
Examining data/bandage-0.8.1/ui/blastsearchdialog.h
Examining data/bandage-0.8.1/ui/changenodedepthdialog.cpp
Examining data/bandage-0.8.1/ui/changenodedepthdialog.h
Examining data/bandage-0.8.1/ui/changenodenamedialog.cpp
Examining data/bandage-0.8.1/ui/changenodenamedialog.h
Examining data/bandage-0.8.1/ui/colourbutton.cpp
Examining data/bandage-0.8.1/ui/colourbutton.h
Examining data/bandage-0.8.1/ui/enteroneblastquerydialog.cpp
Examining data/bandage-0.8.1/ui/enteroneblastquerydialog.h
Examining data/bandage-0.8.1/ui/graphicsviewzoom.cpp
Examining data/bandage-0.8.1/ui/graphicsviewzoom.h
Examining data/bandage-0.8.1/ui/graphinfodialog.cpp
Examining data/bandage-0.8.1/ui/graphinfodialog.h
Examining data/bandage-0.8.1/ui/infotextwidget.cpp
Examining data/bandage-0.8.1/ui/infotextwidget.h
Examining data/bandage-0.8.1/ui/mainwindow.cpp
Examining data/bandage-0.8.1/ui/mainwindow.h
Examining data/bandage-0.8.1/ui/mygraphicsscene.cpp
Examining data/bandage-0.8.1/ui/mygraphicsscene.h
Examining data/bandage-0.8.1/ui/mygraphicsview.cpp
Examining data/bandage-0.8.1/ui/mygraphicsview.h
Examining data/bandage-0.8.1/ui/myprogressdialog.cpp
Examining data/bandage-0.8.1/ui/myprogressdialog.h
Examining data/bandage-0.8.1/ui/mytablewidget.cpp
Examining data/bandage-0.8.1/ui/mytablewidget.h
Examining data/bandage-0.8.1/ui/nodewidthvisualaid.cpp
Examining data/bandage-0.8.1/ui/nodewidthvisualaid.h
Examining data/bandage-0.8.1/ui/pathspecifydialog.cpp
Examining data/bandage-0.8.1/ui/pathspecifydialog.h
Examining data/bandage-0.8.1/ui/querypathsdialog.cpp
Examining data/bandage-0.8.1/ui/querypathsdialog.h
Examining data/bandage-0.8.1/ui/querypathsequencecopybutton.cpp
Examining data/bandage-0.8.1/ui/querypathsequencecopybutton.h
Examining data/bandage-0.8.1/ui/querypathspushbutton.cpp
Examining data/bandage-0.8.1/ui/querypathspushbutton.h
Examining data/bandage-0.8.1/ui/settingsdialog.cpp
Examining data/bandage-0.8.1/ui/settingsdialog.h
Examining data/bandage-0.8.1/ui/tablewidgetitemdouble.cpp
Examining data/bandage-0.8.1/ui/tablewidgetitemdouble.h
Examining data/bandage-0.8.1/ui/tablewidgetitemint.cpp
Examining data/bandage-0.8.1/ui/tablewidgetitemint.h
Examining data/bandage-0.8.1/ui/tablewidgetitemname.cpp
Examining data/bandage-0.8.1/ui/tablewidgetitemname.h
Examining data/bandage-0.8.1/ui/tablewidgetitemshown.cpp
Examining data/bandage-0.8.1/ui/tablewidgetitemshown.h
Examining data/bandage-0.8.1/ui/verticallabel.cpp
Examining data/bandage-0.8.1/ui/verticallabel.h
Examining data/bandage-0.8.1/ui/verticalscrollarea.cpp
Examining data/bandage-0.8.1/ui/verticalscrollarea.h

FINAL RESULTS:

data/bandage-0.8.1/ogdf/basic/String.cpp:84:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,str);
data/bandage-0.8.1/ogdf/basic/String.cpp:118:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,str.m_pChar);
data/bandage-0.8.1/ogdf/basic/String.cpp:138:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,str.m_pChar);
data/bandage-0.8.1/ogdf/basic/String.cpp:152:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,str);
data/bandage-0.8.1/ogdf/basic/String.cpp:170:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,pOldChar);
data/bandage-0.8.1/ogdf/basic/String.cpp:171:8:  [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).
	ogdf::strcpy(m_pChar+oldLength,m_length+1-oldLength,str.m_pChar);
data/bandage-0.8.1/ogdf/basic/String.cpp:179:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
void String::sprintf(const char *format, ...)
data/bandage-0.8.1/ogdf/basic/String.cpp:186:19:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	m_length = ogdf::vsprintf(s_pBuffer,OGDF_STRING_BUFFER_SIZE,format,argList);
data/bandage-0.8.1/ogdf/basic/String.cpp:190:8:  [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).
	ogdf::strcpy(m_pChar,m_length+1,s_pBuffer);
data/bandage-0.8.1/ogdf/basic/String.h:206:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	void sprintf(const char *format, ...);
data/bandage-0.8.1/ogdf/basic/System.cpp:332:2:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	sprintf(filename, 32, "/proc/%d/statm", pid);
data/bandage-0.8.1/ogdf/basic/basic.cpp:207:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	filePattern.sprintf("%s\\%s", dirName, pattern);
data/bandage-0.8.1/ogdf/basic/basic.cpp:275:12:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		fullName.sprintf("%s/%s", dirName, fname);
data/bandage-0.8.1/ogdf/basic/basic.h:538:12:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
inline int sprintf(char *buffer, size_t sizeOfBuffer, const char *format, ...)
data/bandage-0.8.1/ogdf/basic/basic.h:546:12:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
inline int vsprintf(char *buffer, size_t sizeInBytes, const char *format, va_list argptr)
data/bandage-0.8.1/ogdf/basic/basic.h:551:12:  [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).
inline int strcat(char *strDest, size_t sizeOfDest, const char *strSource)
data/bandage-0.8.1/ogdf/basic/basic.h:556:12:  [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).
inline int strcpy(char *strDest, size_t sizeOfDest, const char *strSource)
data/bandage-0.8.1/ogdf/basic/basic.h:573:9:  [4] (buffer) scanf:
  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.
#define scanf scanf_s
data/bandage-0.8.1/ogdf/basic/basic.h:574:9:  [4] (buffer) fscanf:
  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.
#define fscanf fscanf_s
data/bandage-0.8.1/ogdf/basic/basic.h:575: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.
#define sscanf sscanf_s
data/bandage-0.8.1/ogdf/basic/basic.h:591:12:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
inline int sprintf(char *buffer, size_t, const char *format, ...)
data/bandage-0.8.1/ogdf/basic/basic.h:596:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	return ::vsprintf(buffer, format, args);
data/bandage-0.8.1/ogdf/basic/basic.h:600:12:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
inline int vsprintf(char *buffer, size_t, const char *format, va_list argptr)
data/bandage-0.8.1/ogdf/basic/basic.h:602:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
	return ::vsprintf(buffer, format, argptr);
data/bandage-0.8.1/ogdf/basic/basic.h:606:12:  [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).
inline int strcat(char *strDest, size_t, const char *strSource)
data/bandage-0.8.1/ogdf/basic/basic.h:608:4:  [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(strDest, strSource);
data/bandage-0.8.1/ogdf/basic/basic.h:612:12:  [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).
inline int strcpy(char *strDest, size_t, const char *strSource)
data/bandage-0.8.1/ogdf/basic/basic.h:614: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(strDest, strSource);
data/bandage-0.8.1/ogdf/cluster/ClusterGraph.cpp:1702:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		ogdf::sprintf(newLabel,124,"C%d",c->index());
data/bandage-0.8.1/ogdf/fileformats/DinoLineBuffer.cpp:351:10:  [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).
			ogdf::strcpy(targetString, DinoLineBuffer::c_maxStringLength, "String too long!");
data/bandage-0.8.1/ogdf/fileformats/DinoLineBuffer.cpp:379:11:  [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).
				ogdf::strcpy(targetString, DinoLineBuffer::c_maxStringLength, "String too long!");
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:189:10:  [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).
			ogdf::strcpy(pChar,len,m_stringSymbol);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:168:10:  [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).
			ogdf::strcpy(newObjectBodyName,len,m_keyName);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:182:10:  [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).
			ogdf::strcpy(pChar,len,m_stringSymbol);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:208:11:  [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).
				ogdf::strcpy(pChar,len,m_stringSymbol);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:536:10:  [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).
			ogdf::strcpy(m_keyName,len,pStart);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:640:12:  [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).
					ogdf::strcpy(idMap[idCount++],len,nodeSon->m_stringValue);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:650:13:  [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).
						ogdf::strcpy(typeName[typeCount],len,nodeSon->m_stringValue);
data/bandage-0.8.1/ogdf/basic/CriticalSection.h:78:3:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
		InitializeCriticalSection(&m_cs);
data/bandage-0.8.1/ogdf/basic/CriticalSection.h:98:3:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
		EnterCriticalSection(&m_cs);
data/bandage-0.8.1/ogdf/energybased/FMMMLayout.cpp:1183:4:  [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((unsigned int)time(0));
data/bandage-0.8.1/ogdf/energybased/FMMMLayout.cpp:1185:13:  [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(clock());
data/bandage-0.8.1/ogdf/energybased/Multilevel.cpp:69: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(rand_seed);
data/bandage-0.8.1/ogdf/energybased/Set.cpp:64: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(rand_seed);
data/bandage-0.8.1/ui/mainwindow.cpp:82: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(time(NULL));
data/bandage-0.8.1/blast/blastqueries.cpp:144:11:  [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).
    file->open(QIODevice::Append | QIODevice::Text);
data/bandage-0.8.1/blast/buildblastdatabaseworker.cpp:40:10:  [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).
    file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/command_line/querypaths.cpp:137: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).
    tableFile.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/command_line/querypaths.cpp:227:19:  [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).
        pathsFile.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/command_line/querypaths.cpp:240: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).
        hitsFile.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/graph/assemblygraph.cpp:471:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:575:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly)) {
data/bandage-0.8.1/graph/assemblygraph.cpp:818:27:  [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).
        if (readToTigFile.open(QIODevice::ReadOnly)) {
data/bandage-0.8.1/graph/assemblygraph.cpp:937:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:1257:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:1524:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:1577: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).
    if (!inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:2367:19:  [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).
    if (inputFile.open(QIODevice::ReadOnly))
data/bandage-0.8.1/graph/assemblygraph.cpp:3172:10:  [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).
    file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/graph/assemblygraph.cpp:3186:10:  [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).
    file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/graph/assemblygraph.cpp:3202: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).
    bool success = file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/graph/assemblygraph.cpp:3238: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).
    bool success = file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/ogdf/basic/String.h:75: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.
	static char s_pBuffer[OGDF_STRING_BUFFER_SIZE]; //!< Temporary buffer used by sprintf().
data/bandage-0.8.1/ogdf/basic/System.cpp:331: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.
	static char filename[32];
data/bandage-0.8.1/ogdf/basic/System.cpp:334:11:  [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, O_RDONLY, 0);
data/bandage-0.8.1/ogdf/basic/System.cpp:337: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.
	static char sbuf[256];
data/bandage-0.8.1/ogdf/basic/basic.h:577: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).
inline FILE *fopen(const char *filename, const char *mode)
data/bandage-0.8.1/ogdf/cluster/ClusterGraph.cpp:1700: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 newLabel[124];
data/bandage-0.8.1/ogdf/fileformats/DinoTools.cpp: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 tempString[20];
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:950:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				int vID = atoi(vIDString.cstr());
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:1018:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
				int vID = atoi(vIDString.cstr());
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:1152:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					int vID = atoi(vIDString.cstr());
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:1228:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
					int vID = atoi(vIDString.cstr());
data/bandage-0.8.1/ogdf/fileformats/OgmlParser.cpp:2167:7:  [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).
	id = atoi(strId.cstr());
data/bandage-0.8.1/ogdf/internal/basic/PoolMemoryAllocator.cpp:68: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 m_fill[eBlockSize-sizeof(void*)];
data/bandage-0.8.1/ui/mainwindow.cpp:974: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).
        file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/ui/mainwindow.cpp:1040: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).
        file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/ui/pathspecifydialog.cpp:143: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).
        file.open(QIODevice::WriteOnly | QIODevice::Text);
data/bandage-0.8.1/ogdf/basic/Array.h:290:27:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if(size() == 1 && comp.equal(e, m_vpStart[low()]))
data/bandage-0.8.1/ogdf/basic/Array.h:303:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		return comp.equal(e, m_vpStart[l]) ? l : low()-1;
data/bandage-0.8.1/ogdf/basic/Array.h:328:12:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if(comp.equal(e, m_pStart[i])) break;
data/bandage-0.8.1/ogdf/basic/Graph.cpp:1174:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool result = gml.read(*this);
data/bandage-0.8.1/ogdf/basic/GraphAttributes.cpp:285:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return gml.read(G,*this);
data/bandage-0.8.1/ogdf/basic/GraphAttributes.cpp:601:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return xml.read(G,*this);
data/bandage-0.8.1/ogdf/basic/List.h:1050:12:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if(comp.equal(*i,e)) return x;
data/bandage-0.8.1/ogdf/basic/SList.h:602:12:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if(comp.equal(*i,e)) return x;
data/bandage-0.8.1/ogdf/basic/String.cpp:80: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).
	m_length = strlen(str);
data/bandage-0.8.1/ogdf/basic/String.cpp:94:8:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	ogdf::strncpy(m_pChar, m_length+1, str, m_length);
data/bandage-0.8.1/ogdf/basic/String.cpp:148: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).
	m_length = strlen(str);
data/bandage-0.8.1/ogdf/basic/System.cpp:338:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	sbuf[read(fd, sbuf, sizeof(sbuf) - 1)] = 0;
data/bandage-0.8.1/ogdf/basic/System.h:189:10:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable. Also note that memalign() may not check that the boundary
  parameter is correct (CWE-676). Use posix_memalign instead (defined in
  POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD
  4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases,
  malloc()'s alignment may be sufficient.
		return memalign(alignment,size);
data/bandage-0.8.1/ogdf/basic/basic.h:561:12:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
inline int strncpy(char *strDest, size_t sizeOfDest, const char *strSource, size_t count)
data/bandage-0.8.1/ogdf/basic/basic.h:618:12:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
inline int strncpy(char *strDest, size_t, const char *strSource, size_t count)
data/bandage-0.8.1/ogdf/basic/basic.h:620:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	::strncpy(strDest, strSource, count);
data/bandage-0.8.1/ogdf/basic/comparer.h:89:17:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    static bool equal(const E &/*x*/, const E &/*y*/) { OGDF_THROW(NoStdComparerException); }
data/bandage-0.8.1/ogdf/basic/comparer.h:101:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		static bool equal  (const type &x, const type &y) { return x == y; } \
data/bandage-0.8.1/ogdf/basic/comparer.h:115:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	static bool equal  (const bool &x, const bool &y) { return  x ==  y; }
data/bandage-0.8.1/ogdf/basic/comparer.h:131:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	static bool equal  (const CONTENTPOINTER &x, const CONTENTPOINTER &y) { return STATICCONTENTCOMPARER::equal  (*x,*y); }
data/bandage-0.8.1/ogdf/basic/comparer.h:131:104:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	static bool equal  (const CONTENTPOINTER &x, const CONTENTPOINTER &y) { return STATICCONTENTCOMPARER::equal  (*x,*y); }
data/bandage-0.8.1/ogdf/basic/comparer.h:179:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	bool equal(const type &x, const type &y) const { return compare(x,y) == 0; }
data/bandage-0.8.1/ogdf/basic/comparer.h:223:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	static bool equal(const type &x, const type &y) { return compare(x,y) == 0; }
data/bandage-0.8.1/ogdf/basic/comparer.h:280:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	virtual bool equal(const E &x, const E &y) const {
data/bandage-0.8.1/ogdf/cluster/ClusterGraph.cpp:1737:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	result = gml.read(G);
data/bandage-0.8.1/ogdf/cluster/ClusterGraphAttributes.cpp:684:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	result = gml.read(G,*this);
data/bandage-0.8.1/ogdf/cluster/ClusterGraphAttributes.cpp:728:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return op.read(fileName, G, CG, *this);
data/bandage-0.8.1/ogdf/energybased/Rectangle.h:164:8:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		bool equal(const Rectangle& A,const Rectangle & B) const
data/bandage-0.8.1/ogdf/energybased/Rectangle.h:196:8:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		bool equal(const Rectangle& A,const Rectangle & B) const
data/bandage-0.8.1/ogdf/energybased/Rectangle.h:228:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const Rectangle& A,const Rectangle & B) const
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:185: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).
			size_t len = strlen(m_stringSymbol)+1;
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:467:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool GmlParser::read(Graph &G)
data/bandage-0.8.1/ogdf/fileformats/GmlParser.cpp:554:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool GmlParser::read(Graph &G, GraphAttributes &AG)
data/bandage-0.8.1/ogdf/fileformats/GmlParser.h:165:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(Graph &G);
data/bandage-0.8.1/ogdf/fileformats/GmlParser.h:167:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(Graph &G, GraphAttributes &AG);
data/bandage-0.8.1/ogdf/fileformats/OgmlParser.cpp:3794:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool OgmlParser::read(
data/bandage-0.8.1/ogdf/fileformats/OgmlParser.cpp:3861:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool OgmlParser::read(
data/bandage-0.8.1/ogdf/fileformats/OgmlParser.h:266:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(
data/bandage-0.8.1/ogdf/fileformats/OgmlParser.h:279:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:165: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).
			size_t len = strlen(m_keyName)+1;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:180: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).
			size_t len = strlen(m_stringSymbol)+1;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:206: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).
				size_t len = strlen(m_stringSymbol)+1;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:534: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).
			size_t len = strlen(pStart)+6;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:638: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).
					size_t len = strlen(nodeSon->m_stringValue)+1;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:648: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).
						size_t len = strlen(nodeSon->m_stringValue)+1;
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:682:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool XmlParser::read(Graph &G)
data/bandage-0.8.1/ogdf/fileformats/XmlParser.cpp:782:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool XmlParser::read(Graph &G, GraphAttributes &AG)
data/bandage-0.8.1/ogdf/fileformats/XmlParser.h:131:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(Graph &G);
data/bandage-0.8.1/ogdf/fileformats/XmlParser.h:133:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read(Graph &G, GraphAttributes &AG);

ANALYSIS SUMMARY:

Hits = 127
Lines analyzed = 73990 in approximately 1.59 seconds (46614 lines/second)
Physical Source Lines of Code (SLOC) = 45206
Hits@level = [0]   5 [1]  49 [2]  33 [3]   7 [4]  38 [5]   0
Hits@level+ = [0+] 132 [1+] 127 [2+]  78 [3+]  45 [4+]  38 [5+]   0
Hits/KSLOC@level+ = [0+] 2.91997 [1+] 2.80936 [2+] 1.72543 [3+] 0.995443 [4+] 0.840596 [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.