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/libnoise-1.0.0+repack/noise/src/module/displace.h Examining data/libnoise-1.0.0+repack/noise/src/module/abs.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/rotatepoint.h Examining data/libnoise-1.0.0+repack/noise/src/module/exponent.h Examining data/libnoise-1.0.0+repack/noise/src/module/terrace.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/select.h Examining data/libnoise-1.0.0+repack/noise/src/module/add.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/voronoi.h Examining data/libnoise-1.0.0+repack/noise/src/module/billow.h Examining data/libnoise-1.0.0+repack/noise/src/module/voronoi.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/invert.h Examining data/libnoise-1.0.0+repack/noise/src/module/perlin.h Examining data/libnoise-1.0.0+repack/noise/src/module/spheres.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/const.h Examining data/libnoise-1.0.0+repack/noise/src/module/rotatepoint.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/multiply.h Examining data/libnoise-1.0.0+repack/noise/src/module/turbulence.h Examining data/libnoise-1.0.0+repack/noise/src/module/exponent.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/billow.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/clamp.h Examining data/libnoise-1.0.0+repack/noise/src/module/select.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/scalebias.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/multiply.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/max.h Examining data/libnoise-1.0.0+repack/noise/src/module/curve.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/cache.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/power.h Examining data/libnoise-1.0.0+repack/noise/src/module/checkerboard.h Examining data/libnoise-1.0.0+repack/noise/src/module/min.h Examining data/libnoise-1.0.0+repack/noise/src/module/abs.h Examining data/libnoise-1.0.0+repack/noise/src/module/clamp.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/scalepoint.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/const.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/cylinders.h Examining data/libnoise-1.0.0+repack/noise/src/module/module.h Examining data/libnoise-1.0.0+repack/noise/src/module/perlin.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/max.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/modulebase.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/invert.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/cache.h Examining data/libnoise-1.0.0+repack/noise/src/module/translatepoint.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/displace.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/power.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/min.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/add.h Examining data/libnoise-1.0.0+repack/noise/src/module/checkerboard.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/scalebias.h Examining data/libnoise-1.0.0+repack/noise/src/module/ridgedmulti.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/turbulence.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/curve.h Examining data/libnoise-1.0.0+repack/noise/src/module/blend.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/spheres.h Examining data/libnoise-1.0.0+repack/noise/src/module/cylinders.cpp Examining data/libnoise-1.0.0+repack/noise/src/module/translatepoint.h Examining data/libnoise-1.0.0+repack/noise/src/module/terrace.h Examining data/libnoise-1.0.0+repack/noise/src/module/ridgedmulti.h Examining data/libnoise-1.0.0+repack/noise/src/module/modulebase.h Examining data/libnoise-1.0.0+repack/noise/src/module/blend.h Examining data/libnoise-1.0.0+repack/noise/src/module/scalepoint.h Examining data/libnoise-1.0.0+repack/noise/src/exception.h Examining data/libnoise-1.0.0+repack/noise/src/model/line.cpp Examining data/libnoise-1.0.0+repack/noise/src/model/model.h Examining data/libnoise-1.0.0+repack/noise/src/model/plane.cpp Examining data/libnoise-1.0.0+repack/noise/src/model/cylinder.cpp Examining data/libnoise-1.0.0+repack/noise/src/model/sphere.cpp Examining data/libnoise-1.0.0+repack/noise/src/model/line.h Examining data/libnoise-1.0.0+repack/noise/src/model/plane.h Examining data/libnoise-1.0.0+repack/noise/src/model/cylinder.h Examining data/libnoise-1.0.0+repack/noise/src/model/sphere.h Examining data/libnoise-1.0.0+repack/noise/src/latlon.cpp Examining data/libnoise-1.0.0+repack/noise/src/win32/dllmain.cpp Examining data/libnoise-1.0.0+repack/noise/src/win32/resource.h Examining data/libnoise-1.0.0+repack/noise/src/misc.h Examining data/libnoise-1.0.0+repack/noise/src/mathconsts.h Examining data/libnoise-1.0.0+repack/noise/src/noise.h Examining data/libnoise-1.0.0+repack/noise/src/noisegen.h Examining data/libnoise-1.0.0+repack/noise/src/noisegen.cpp Examining data/libnoise-1.0.0+repack/noise/src/interp.h Examining data/libnoise-1.0.0+repack/noise/src/latlon.h Examining data/libnoise-1.0.0+repack/noise/src/basictypes.h Examining data/libnoise-1.0.0+repack/noise/src/vectortable.h Examining data/libnoise-1.0.0+repack/examples/complexplanet.cpp Examining data/libnoise-1.0.0+repack/examples/texturejade.cpp Examining data/libnoise-1.0.0+repack/examples/texturewood.cpp Examining data/libnoise-1.0.0+repack/examples/worms.cpp Examining data/libnoise-1.0.0+repack/examples/textureslime.cpp Examining data/libnoise-1.0.0+repack/examples/texturesky.cpp Examining data/libnoise-1.0.0+repack/examples/texturegranite.cpp Examining data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp Examining data/libnoise-1.0.0+repack/noiseutils/noiseutils.h FINAL RESULTS: data/libnoise-1.0.0+repack/examples/complexplanet.cpp:1874:6: [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). os.open ("terrain.raw", std::ios::out | std::ios::binary); data/libnoise-1.0.0+repack/examples/worms.cpp:636:12: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char pTexture[g_textureWidth * g_textureHeight * 4]; data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:284:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pDest, pSource, (size_t)source.GetWidth () * sizeof (float)); data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:332:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pNewNoiseMap, m_pNoiseMap, newMemUsage * sizeof (float)); data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:449:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pDest, pSource, (size_t)source.GetWidth () * sizeof (float)); data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:497:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pNewImage, m_pImage, newMemUsage * sizeof (float)); data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:599:6: [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). os.open (m_destFilename.c_str (), std::ios::out | std::ios::binary); data/libnoise-1.0.0+repack/noiseutils/noiseutils.cpp:692:6: [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). os.open (m_destFilename.c_str (), std::ios::out | std::ios::binary); ANALYSIS SUMMARY: Hits = 8 Lines analyzed = 16567 in approximately 1.17 seconds (14150 lines/second) Physical Source Lines of Code (SLOC) = 6111 Hits@level = [0] 0 [1] 0 [2] 8 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 8 [1+] 8 [2+] 8 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 1.30911 [1+] 1.30911 [2+] 1.30911 [3+] 0 [4+] 0 [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.