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/ros-geometric-shapes-0.7.0/include/geometric_shapes/aabb.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/bodies.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/body_operations.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/check_isometry.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/mesh_operations.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/shape_extents.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/shape_messages.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/shape_operations.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/shape_to_marker.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/shapes.h
Examining data/ros-geometric-shapes-0.7.0/include/geometric_shapes/solid_primitive_dims.h
Examining data/ros-geometric-shapes-0.7.0/src/aabb.cpp
Examining data/ros-geometric-shapes-0.7.0/src/body_operations.cpp
Examining data/ros-geometric-shapes-0.7.0/src/mesh_operations.cpp
Examining data/ros-geometric-shapes-0.7.0/src/shape_extents.cpp
Examining data/ros-geometric-shapes-0.7.0/src/shape_operations.cpp
Examining data/ros-geometric-shapes-0.7.0/src/shape_to_marker.cpp
Examining data/ros-geometric-shapes-0.7.0/src/shapes.cpp
Examining data/ros-geometric-shapes-0.7.0/src/bodies.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_basics.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_body_operations.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_bounding_box.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_bounding_cylinder.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_bounding_sphere.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_create_mesh.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_loaded_meshes.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_point_inclusion.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_ray_intersection.cpp
Examining data/ros-geometric-shapes-0.7.0/test/test_shapes.cpp

FINAL RESULTS:

data/ros-geometric-shapes-0.7.0/src/bodies.cpp:913:23:  [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).
  static FILE* null = fopen("/dev/null", "w");
data/ros-geometric-shapes-0.7.0/src/mesh_operations.cpp:415:3:  [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(result->triangles, tri, sizeof(unsigned int) * 36);
data/ros-geometric-shapes-0.7.0/src/mesh_operations.cpp:635:3:  [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(ptr, &data, sizeof(float));
data/ros-geometric-shapes-0.7.0/src/mesh_operations.cpp:646:3:  [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(ptr, &nt, sizeof(uint32_t));

ANALYSIS SUMMARY:

Hits = 4
Lines analyzed = 9891 in approximately 0.33 seconds (30189 lines/second)
Physical Source Lines of Code (SLOC) = 6737
Hits@level = [0]   0 [1]   0 [2]   4 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   4 [1+]   4 [2+]   4 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 0.593736 [1+] 0.593736 [2+] 0.593736 [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.