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/libglu-9.0.1/src/libnurbs/interface/glsurfeval.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/glimports.h
Examining data/libglu-9.0.1/src/libnurbs/interface/glinterface.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierEval.h
Examining data/libglu-9.0.1/src/libnurbs/interface/glrenderer.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/glcurveval.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierPatch.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/mystdio.h
Examining data/libglu-9.0.1/src/libnurbs/interface/incurveeval.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierPatchMesh.h
Examining data/libglu-9.0.1/src/libnurbs/interface/glcurveval.h
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierPatch.h
Examining data/libglu-9.0.1/src/libnurbs/interface/insurfeval.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/glsurfeval.h
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierEval.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/mystdlib.h
Examining data/libglu-9.0.1/src/libnurbs/interface/bezierPatchMesh.cc
Examining data/libglu-9.0.1/src/libnurbs/interface/glrenderer.h
Examining data/libglu-9.0.1/src/libnurbs/internals/pwlarc.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arc.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arc.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/slicer.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/flist.h
Examining data/libglu-9.0.1/src/libnurbs/internals/trimvertpool.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/curve.h
Examining data/libglu-9.0.1/src/libnurbs/internals/renderhints.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/basicsurfeval.h
Examining data/libglu-9.0.1/src/libnurbs/internals/subdivider.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/flist.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/curve.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/myassert.h
Examining data/libglu-9.0.1/src/libnurbs/internals/coveandtiler.h
Examining data/libglu-9.0.1/src/libnurbs/internals/knotvector.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/nurbsinterfac.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/uarray.h
Examining data/libglu-9.0.1/src/libnurbs/internals/curvelist.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/varray.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/trimline.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mymath.h
Examining data/libglu-9.0.1/src/libnurbs/internals/flistsorter.h
Examining data/libglu-9.0.1/src/libnurbs/internals/dataTransform.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/trimregion.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/mystring.h
Examining data/libglu-9.0.1/src/libnurbs/internals/reader.h
Examining data/libglu-9.0.1/src/libnurbs/internals/patch.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/jarcloc.h
Examining data/libglu-9.0.1/src/libnurbs/internals/bin.h
Examining data/libglu-9.0.1/src/libnurbs/internals/types.h
Examining data/libglu-9.0.1/src/libnurbs/internals/knotvector.h
Examining data/libglu-9.0.1/src/libnurbs/internals/trimvertex.h
Examining data/libglu-9.0.1/src/libnurbs/internals/splitarcs.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/intersect.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/mycode.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/coveandtiler.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/hull.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/trimvertpool.h
Examining data/libglu-9.0.1/src/libnurbs/internals/bezierarc.h
Examining data/libglu-9.0.1/src/libnurbs/internals/nurbstess.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/displaymode.h
Examining data/libglu-9.0.1/src/libnurbs/internals/quilt.h
Examining data/libglu-9.0.1/src/libnurbs/internals/bin.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/patchlist.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arcsorter.h
Examining data/libglu-9.0.1/src/libnurbs/internals/displaylist.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mesher.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/bufpool.h
Examining data/libglu-9.0.1/src/libnurbs/internals/bufpool.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/gridvertex.h
Examining data/libglu-9.0.1/src/libnurbs/internals/uarray.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/backend.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mapdescv.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/gridtrimvertex.h
Examining data/libglu-9.0.1/src/libnurbs/internals/hull.h
Examining data/libglu-9.0.1/src/libnurbs/internals/quilt.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/basiccrveval.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mapdesc.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arcsorter.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/nurbsconsts.h
Examining data/libglu-9.0.1/src/libnurbs/internals/backend.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/basiccrveval.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/sorter.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/ccw.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/varray.h
Examining data/libglu-9.0.1/src/libnurbs/internals/gridline.h
Examining data/libglu-9.0.1/src/libnurbs/internals/trimregion.h
Examining data/libglu-9.0.1/src/libnurbs/internals/simplemath.h
Examining data/libglu-9.0.1/src/libnurbs/internals/monotonizer.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/slicer.h
Examining data/libglu-9.0.1/src/libnurbs/internals/sorter.h
Examining data/libglu-9.0.1/src/libnurbs/internals/flistsorter.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/patchlist.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/tobezier.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/monoTriangulationBackend.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/defines.h
Examining data/libglu-9.0.1/src/libnurbs/internals/maplist.h
Examining data/libglu-9.0.1/src/libnurbs/internals/trimline.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/monotonizer.h
Examining data/libglu-9.0.1/src/libnurbs/internals/reader.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/cachingeval.h
Examining data/libglu-9.0.1/src/libnurbs/internals/cachingeval.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/patch.h
Examining data/libglu-9.0.1/src/libnurbs/internals/basicsurfeval.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/subdivider.h
Examining data/libglu-9.0.1/src/libnurbs/internals/curvelist.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mesher.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arctess.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/displaylist.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/mysetjmp.h
Examining data/libglu-9.0.1/src/libnurbs/internals/arctess.h
Examining data/libglu-9.0.1/src/libnurbs/internals/mapdesc.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/nurbstess.h
Examining data/libglu-9.0.1/src/libnurbs/internals/renderhints.h
Examining data/libglu-9.0.1/src/libnurbs/internals/dataTransform.h
Examining data/libglu-9.0.1/src/libnurbs/internals/curvesub.cc
Examining data/libglu-9.0.1/src/libnurbs/internals/maplist.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/definitions.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompBot.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/partitionY.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoTriangulation.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/rectBlock.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoPolyPart.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/directedLine.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/searchTree.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleMonoPoly.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/quicksort.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompTop.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/partitionY.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/glimports.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/searchTree.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoChain.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompRight.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/gridWrap.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/partitionX.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/primitiveStream.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampledLine.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoChain.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompRight.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/polyDBG.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoPolyPart.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampledLine.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/polyDBG.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/polyUtil.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/rectBlock.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/directedLine.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/zlassert.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/mystdio.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleComp.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompTop.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleComp.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/gridWrap.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/monoTriangulation.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/polyUtil.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleMonoPoly.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/primitiveStream.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/sampleCompBot.cc
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/partitionX.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/mystdlib.h
Examining data/libglu-9.0.1/src/libnurbs/nurbtess/quicksort.cc
Examining data/libglu-9.0.1/src/libutil/project.c
Examining data/libglu-9.0.1/src/libutil/gluint.h
Examining data/libglu-9.0.1/src/libutil/mipmap.c
Examining data/libglu-9.0.1/src/libutil/quad.c
Examining data/libglu-9.0.1/src/libutil/glue.c
Examining data/libglu-9.0.1/src/libutil/error.c
Examining data/libglu-9.0.1/src/libutil/registry.c
Examining data/libglu-9.0.1/src/include/gluos.h
Examining data/libglu-9.0.1/src/libtess/mesh.h
Examining data/libglu-9.0.1/src/libtess/tess.c
Examining data/libglu-9.0.1/src/libtess/priorityq-heap.h
Examining data/libglu-9.0.1/src/libtess/dict.c
Examining data/libglu-9.0.1/src/libtess/tess.h
Examining data/libglu-9.0.1/src/libtess/mesh.c
Examining data/libglu-9.0.1/src/libtess/memalloc.c
Examining data/libglu-9.0.1/src/libtess/priorityq-heap.c
Examining data/libglu-9.0.1/src/libtess/dict.h
Examining data/libglu-9.0.1/src/libtess/sweep.c
Examining data/libglu-9.0.1/src/libtess/dict-list.h
Examining data/libglu-9.0.1/src/libtess/sweep.h
Examining data/libglu-9.0.1/src/libtess/priorityq.c
Examining data/libglu-9.0.1/src/libtess/tessmono.h
Examining data/libglu-9.0.1/src/libtess/render.c
Examining data/libglu-9.0.1/src/libtess/tessmono.c
Examining data/libglu-9.0.1/src/libtess/priorityq-sort.h
Examining data/libglu-9.0.1/src/libtess/render.h
Examining data/libglu-9.0.1/src/libtess/memalloc.h
Examining data/libglu-9.0.1/src/libtess/priorityq.h
Examining data/libglu-9.0.1/src/libtess/normal.h
Examining data/libglu-9.0.1/src/libtess/geom.c
Examining data/libglu-9.0.1/src/libtess/normal.c
Examining data/libglu-9.0.1/src/libtess/geom.h
Examining data/libglu-9.0.1/include/GL/glu_mangle.h
Examining data/libglu-9.0.1/include/GL/glu.h

FINAL RESULTS:

data/libglu-9.0.1/src/libnurbs/interface/mystdio.h:46:22:  [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 _glu_dprintf printf
data/libglu-9.0.1/src/libnurbs/nurbtess/mystdio.h:46:22:  [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 _glu_dprintf printf
data/libglu-9.0.1/src/libutil/registry.c:76: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(lookHere,(const char *)extString);
data/libglu-9.0.1/src/libtess/geom.c:192:15:  [3] (random) drand48:
  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.
    a = 1.2 * drand48() - 0.1;
data/libglu-9.0.1/src/libtess/normal.c:174:36:  [3] (random) drand48:
  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.
#define S_UNIT_X	(RandomSweep ? (2*drand48()-1) : 1.0)
data/libglu-9.0.1/src/libtess/normal.c:175:36:  [3] (random) drand48:
  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.
#define S_UNIT_Y	(RandomSweep ? (2*drand48()-1) : 0.0)
data/libglu-9.0.1/src/libnurbs/internals/bufpool.h:63: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		*blocklist[NBLOCKS];	/* blocks of malloced memory */
data/libglu-9.0.1/src/libnurbs/internals/mapdesc.cc:149:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy( d, s, hcoords * sizeof( REAL ) );
data/libglu-9.0.1/src/libnurbs/internals/mystring.h:41:19:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern "C" void *	memcpy(void *, const void *, size_t);
data/libglu-9.0.1/src/libnurbs/internals/mystring.h:46:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define memcpy(a,b,c)	bcopy(b,a,c)
data/libglu-9.0.1/src/libnurbs/internals/mystring.h:46:23:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define memcpy(a,b,c)	bcopy(b,a,c)
data/libglu-9.0.1/src/libnurbs/internals/mystring.h:48:18:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern "C" void		bcopy(const void *, void *, int);
data/libglu-9.0.1/src/libnurbs/internals/patch.cc:203:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy( lower.bb, upper.bb, sizeof( bb ) );
data/libglu-9.0.1/src/libnurbs/internals/slicer.cc:876: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* fp = fopen(name, "r");
data/libglu-9.0.1/src/libnurbs/internals/tobezier.cc:660:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy( topt, frompt, ncoords * sizeof( REAL ) );
data/libglu-9.0.1/src/libnurbs/internals/trimvertpool.cc:112:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy( nvlist, vlist, nextvlistslot * sizeof(TrimVertex_p) );
data/libglu-9.0.1/src/libnurbs/nurbtess/directedLine.cc:758: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* fp = fopen(filename, "w");
data/libglu-9.0.1/src/libnurbs/nurbtess/directedLine.cc:795: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* fp = fopen(filename, "r");
data/libglu-9.0.1/src/libutil/mipmap.c:41:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char ub[4];
data/libglu-9.0.1/src/libutil/mipmap.c:44: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 b[4];
data/libglu-9.0.1/src/libutil/mipmap.c:464:27:  [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.
   assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:465:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:562:30:  [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.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:565:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:699:30:  [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.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:702:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:845:30:  [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.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:848:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:991:30:  [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.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:994:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:1137:30:  [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.
      assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:1140:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:1284:27:  [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.
   assert(src == &((const char *)dataIn)[ysize*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:1285:30:  [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.
   assert((char *)dest == &((char *)dataOut)
data/libglu-9.0.1/src/libutil/mipmap.c:4525:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	     memcpy(dstTrav,srcTrav,rowsize);
data/libglu-9.0.1/src/libutil/mipmap.c:6500:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:6566:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes]);
data/libglu-9.0.1/src/libutil/mipmap.c:6607:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height]);
data/libglu-9.0.1/src/libutil/mipmap.c:7716:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/libglu-9.0.1/src/libutil/mipmap.c:8721:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/libglu-9.0.1/src/libutil/mipmap.c:8770:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/libglu-9.0.1/src/libutil/mipmap.c:8820:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/libglu-9.0.1/src/libutil/mipmap.c:8934:30:  [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.
      assert(src == &((const char *)dataIn)[rowSizeInBytes*height*depth]);
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:240:9:  [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.
Mesher::equal( int x, int y )
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:282:6:  [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( equal( 0, 1 ) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:290:13:  [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.
	} else if( equal( ilast-2, ilast-1) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:309:6:  [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( equal( 1, 0) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:317:13:  [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.
	} else if( equal( ilast-1, ilast-2) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:346:6:  [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( equal( 0, 1 ) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:354:13:  [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.
	} else if( equal( ilast-2, ilast-1) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:383:6:  [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( equal( ilast-1, ilast-2 ) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:391:13:  [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.
	} else if( equal( itop, itop-1 ) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:420:6:  [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( equal( 1, 0) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:428:13:  [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.
	} else if( equal( ilast-1, ilast-2) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:458:6:  [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( equal( ilast-2, ilast-1) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.cc:466:13:  [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.
	} else if( equal( itop-1, itop) ) {
data/libglu-9.0.1/src/libnurbs/internals/mesher.h:74:18:  [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.
    inline int 		equal( int, int );
data/libglu-9.0.1/src/libnurbs/internals/reader.cc:56:9:  [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.
#define equal(x,y) ( glu_abs(x-y) <= 0.00001)
data/libglu-9.0.1/src/libnurbs/internals/reader.cc:81:10:  [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(equal(prev->param[0], array[0]) && equal(prev->param[1], array[1]))
data/libglu-9.0.1/src/libnurbs/internals/reader.cc:81:45:  [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(equal(prev->param[0], array[0]) && equal(prev->param[1], array[1]))
data/libglu-9.0.1/src/libutil/registry.c:72:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  deleteThis = lookHere = (char *)malloc(strlen((const char *)extString)+1); 

ANALYSIS SUMMARY:

Hits = 61
Lines analyzed = 56856 in approximately 1.49 seconds (38137 lines/second)
Physical Source Lines of Code (SLOC) = 38069
Hits@level = [0] 105 [1]  18 [2]  37 [3]   3 [4]   3 [5]   0
Hits@level+ = [0+] 166 [1+]  61 [2+]  43 [3+]   6 [4+]   3 [5+]   0
Hits/KSLOC@level+ = [0+] 4.3605 [1+] 1.60235 [2+] 1.12953 [3+] 0.157609 [4+] 0.0788043 [5+]   0
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.