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/fcl-0.5.0/include/fcl/BV/AABB.h Examining data/fcl-0.5.0/include/fcl/BV/BV.h Examining data/fcl-0.5.0/include/fcl/BV/BV_node.h Examining data/fcl-0.5.0/include/fcl/BV/OBB.h Examining data/fcl-0.5.0/include/fcl/BV/OBBRSS.h Examining data/fcl-0.5.0/include/fcl/BV/RSS.h Examining data/fcl-0.5.0/include/fcl/BV/kDOP.h Examining data/fcl-0.5.0/include/fcl/BV/kIOS.h Examining data/fcl-0.5.0/include/fcl/BVH/BVH_front.h Examining data/fcl-0.5.0/include/fcl/BVH/BVH_internal.h Examining data/fcl-0.5.0/include/fcl/BVH/BVH_model.h Examining data/fcl-0.5.0/include/fcl/BVH/BVH_utility.h Examining data/fcl-0.5.0/include/fcl/BVH/BV_fitter.h Examining data/fcl-0.5.0/include/fcl/BVH/BV_splitter.h Examining data/fcl-0.5.0/include/fcl/articulated_model/joint.h Examining data/fcl-0.5.0/include/fcl/articulated_model/joint_config.h Examining data/fcl-0.5.0/include/fcl/articulated_model/link.h Examining data/fcl-0.5.0/include/fcl/articulated_model/model.h Examining data/fcl-0.5.0/include/fcl/articulated_model/model_config.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_SSaP.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_SaP.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_bruteforce.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_dynamic_AABB_tree.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_interval_tree.h Examining data/fcl-0.5.0/include/fcl/broadphase/broadphase_spatialhash.h Examining data/fcl-0.5.0/include/fcl/broadphase/hash.h Examining data/fcl-0.5.0/include/fcl/broadphase/hierarchy_tree.h Examining data/fcl-0.5.0/include/fcl/broadphase/interval_tree.h Examining data/fcl-0.5.0/include/fcl/broadphase/morton.h Examining data/fcl-0.5.0/include/fcl/ccd/conservative_advancement.h Examining data/fcl-0.5.0/include/fcl/ccd/interpolation/interpolation.h Examining data/fcl-0.5.0/include/fcl/ccd/interpolation/interpolation_factory.h Examining data/fcl-0.5.0/include/fcl/ccd/interpolation/interpolation_linear.h Examining data/fcl-0.5.0/include/fcl/ccd/interval.h Examining data/fcl-0.5.0/include/fcl/ccd/interval_matrix.h Examining data/fcl-0.5.0/include/fcl/ccd/interval_vector.h Examining data/fcl-0.5.0/include/fcl/ccd/motion.h Examining data/fcl-0.5.0/include/fcl/ccd/motion_base.h Examining data/fcl-0.5.0/include/fcl/ccd/simplex.h Examining data/fcl-0.5.0/include/fcl/ccd/support.h Examining data/fcl-0.5.0/include/fcl/ccd/taylor_matrix.h Examining data/fcl-0.5.0/include/fcl/ccd/taylor_model.h Examining data/fcl-0.5.0/include/fcl/ccd/taylor_vector.h Examining data/fcl-0.5.0/include/fcl/collision.h Examining data/fcl-0.5.0/include/fcl/collision_data.h Examining data/fcl-0.5.0/include/fcl/collision_func_matrix.h Examining data/fcl-0.5.0/include/fcl/collision_node.h Examining data/fcl-0.5.0/include/fcl/collision_object.h Examining data/fcl-0.5.0/include/fcl/continuous_collision.h Examining data/fcl-0.5.0/include/fcl/data_types.h Examining data/fcl-0.5.0/include/fcl/deprecated.h Examining data/fcl-0.5.0/include/fcl/distance.h Examining data/fcl-0.5.0/include/fcl/distance_func_matrix.h Examining data/fcl-0.5.0/include/fcl/exception.h Examining data/fcl-0.5.0/include/fcl/intersect.h Examining data/fcl-0.5.0/include/fcl/learning/classifier.h Examining data/fcl-0.5.0/include/fcl/math/constants.h Examining data/fcl-0.5.0/include/fcl/math/math_details.h Examining data/fcl-0.5.0/include/fcl/math/matrix_3f.h Examining data/fcl-0.5.0/include/fcl/math/sampling.h Examining data/fcl-0.5.0/include/fcl/math/transform.h Examining data/fcl-0.5.0/include/fcl/math/vec_3f.h Examining data/fcl-0.5.0/include/fcl/math/vec_nf.h Examining data/fcl-0.5.0/include/fcl/narrowphase/gjk.h Examining data/fcl-0.5.0/include/fcl/narrowphase/gjk_libccd.h Examining data/fcl-0.5.0/include/fcl/narrowphase/narrowphase.h Examining data/fcl-0.5.0/include/fcl/octree.h Examining data/fcl-0.5.0/include/fcl/profile.h Examining data/fcl-0.5.0/include/fcl/shape/geometric_shape_to_BVH_model.h Examining data/fcl-0.5.0/include/fcl/shape/geometric_shapes.h Examining data/fcl-0.5.0/include/fcl/shape/geometric_shapes_utility.h Examining data/fcl-0.5.0/include/fcl/simd/math_simd_details.h Examining data/fcl-0.5.0/include/fcl/simd/simd_intersect.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_base.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_bvh_shape.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_bvhs.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_octree.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_setup.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_node_shapes.h Examining data/fcl-0.5.0/include/fcl/traversal/traversal_recurse.h Examining data/fcl-0.5.0/src/BV/AABB.cpp Examining data/fcl-0.5.0/src/BV/OBB.cpp Examining data/fcl-0.5.0/src/BV/OBBRSS.cpp Examining data/fcl-0.5.0/src/BV/RSS.cpp Examining data/fcl-0.5.0/src/BV/kDOP.cpp Examining data/fcl-0.5.0/src/BV/kIOS.cpp Examining data/fcl-0.5.0/src/BVH/BVH_model.cpp Examining data/fcl-0.5.0/src/BVH/BVH_utility.cpp Examining data/fcl-0.5.0/src/BVH/BV_fitter.cpp Examining data/fcl-0.5.0/src/BVH/BV_splitter.cpp Examining data/fcl-0.5.0/src/articulated_model/joint.cpp Examining data/fcl-0.5.0/src/articulated_model/joint_config.cpp Examining data/fcl-0.5.0/src/articulated_model/link.cpp Examining data/fcl-0.5.0/src/articulated_model/model.cpp Examining data/fcl-0.5.0/src/articulated_model/model_config.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_SSaP.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_SaP.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_bruteforce.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_dynamic_AABB_tree.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_dynamic_AABB_tree_array.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_interval_tree.cpp Examining data/fcl-0.5.0/src/broadphase/broadphase_spatialhash.cpp Examining data/fcl-0.5.0/src/broadphase/hierarchy_tree.cpp Examining data/fcl-0.5.0/src/broadphase/interval_tree.cpp Examining data/fcl-0.5.0/src/ccd/conservative_advancement.cpp Examining data/fcl-0.5.0/src/ccd/interpolation/interpolation.cpp Examining data/fcl-0.5.0/src/ccd/interpolation/interpolation_factory.cpp Examining data/fcl-0.5.0/src/ccd/interpolation/interpolation_linear.cpp Examining data/fcl-0.5.0/src/ccd/interval.cpp Examining data/fcl-0.5.0/src/ccd/interval_matrix.cpp Examining data/fcl-0.5.0/src/ccd/interval_vector.cpp Examining data/fcl-0.5.0/src/ccd/motion.cpp Examining data/fcl-0.5.0/src/ccd/taylor_matrix.cpp Examining data/fcl-0.5.0/src/ccd/taylor_model.cpp Examining data/fcl-0.5.0/src/ccd/taylor_vector.cpp Examining data/fcl-0.5.0/src/collision.cpp Examining data/fcl-0.5.0/src/collision_data.cpp Examining data/fcl-0.5.0/src/collision_func_matrix.cpp Examining data/fcl-0.5.0/src/collision_node.cpp Examining data/fcl-0.5.0/src/continuous_collision.cpp Examining data/fcl-0.5.0/src/distance.cpp Examining data/fcl-0.5.0/src/distance_func_matrix.cpp Examining data/fcl-0.5.0/src/intersect.cpp Examining data/fcl-0.5.0/src/math/sampling.cpp Examining data/fcl-0.5.0/src/math/transform.cpp Examining data/fcl-0.5.0/src/narrowphase/gjk.cpp Examining data/fcl-0.5.0/src/narrowphase/gjk_libccd.cpp Examining data/fcl-0.5.0/src/narrowphase/narrowphase.cpp Examining data/fcl-0.5.0/src/profile.cpp Examining data/fcl-0.5.0/src/shape/geometric_shapes.cpp Examining data/fcl-0.5.0/src/shape/geometric_shapes_utility.cpp Examining data/fcl-0.5.0/src/traversal/traversal_node_base.cpp Examining data/fcl-0.5.0/src/traversal/traversal_node_bvhs.cpp Examining data/fcl-0.5.0/src/traversal/traversal_node_setup.cpp Examining data/fcl-0.5.0/src/traversal/traversal_recurse.cpp Examining data/fcl-0.5.0/test/general_test.cpp Examining data/fcl-0.5.0/test/libsvm/svm.cpp Examining data/fcl-0.5.0/test/libsvm/svm.h Examining data/fcl-0.5.0/test/libsvm_classifier.h Examining data/fcl-0.5.0/test/test_fcl_broadphase.cpp Examining data/fcl-0.5.0/test/test_fcl_bvh_models.cpp Examining data/fcl-0.5.0/test/test_fcl_capsule_box_1.cpp Examining data/fcl-0.5.0/test/test_fcl_capsule_box_2.cpp Examining data/fcl-0.5.0/test/test_fcl_capsule_capsule.cpp Examining data/fcl-0.5.0/test/test_fcl_collision.cpp Examining data/fcl-0.5.0/test/test_fcl_distance.cpp Examining data/fcl-0.5.0/test/test_fcl_frontlist.cpp Examining data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp Examining data/fcl-0.5.0/test/test_fcl_math.cpp Examining data/fcl-0.5.0/test/test_fcl_octomap.cpp Examining data/fcl-0.5.0/test/test_fcl_shape_mesh_consistency.cpp Examining data/fcl-0.5.0/test/test_fcl_simple.cpp Examining data/fcl-0.5.0/test/test_fcl_sphere_capsule.cpp Examining data/fcl-0.5.0/test/test_fcl_utility.cpp Examining data/fcl-0.5.0/test/test_fcl_utility.h FINAL RESULTS: data/fcl-0.5.0/test/libsvm/svm.cpp:54:3: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(buf,fmt,ap); data/fcl-0.5.0/include/fcl/math/math_details.h:65: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(vs, x, sizeof(T) * 3); data/fcl-0.5.0/include/fcl/shape/geometric_shapes.h:344: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(edges, other.edges, sizeof(Edge) * num_edges); data/fcl-0.5.0/src/BVH/BVH_model.cpp:59: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(vertices, other.vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:67: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(tri_indices, other.tri_indices, sizeof(Triangle) * num_tris); data/fcl-0.5.0/src/BVH/BVH_model.cpp:75: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(prev_vertices, other.prev_vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:96: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(primitive_indices, other.primitive_indices, sizeof(unsigned int) * num_primitives); data/fcl-0.5.0/src/BVH/BVH_model.cpp:105: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(bvs, other.bvs, sizeof(BVNode<BV>) * num_bvs); data/fcl-0.5.0/src/BVH/BVH_model.cpp:177: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(temp, vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:207: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(temp, vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:231: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(temp, tri_indices, sizeof(Triangle) * num_tris); data/fcl-0.5.0/src/BVH/BVH_model.cpp:263: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(temp, vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:298: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(temp, vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/BVH/BVH_model.cpp:324: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(temp, tri_indices, sizeof(Triangle) * num_tris); data/fcl-0.5.0/src/BVH/BVH_model.cpp:363: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(new_tris, tri_indices, sizeof(Triangle) * num_tris); data/fcl-0.5.0/src/BVH/BVH_model.cpp:377: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(new_vertices, vertices, sizeof(Vec3f) * num_vertices); data/fcl-0.5.0/src/narrowphase/narrowphase.cpp:815:16: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if(q != ret) memcpy(ret, q, nr*2*sizeof(FCL_REAL)); data/fcl-0.5.0/src/shape/geometric_shapes.cpp:95: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(tmp, edges, num_edges * sizeof(Edge)); data/fcl-0.5.0/test/libsvm/svm.cpp:25: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((void *)dst,(void *)src,sizeof(T)*n); data/fcl-0.5.0/test/libsvm/svm.cpp:51: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 buf[BUFSIZ]; data/fcl-0.5.0/test/libsvm/svm.cpp:2777: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(model_file_name,"w"); data/fcl-0.5.0/test/libsvm/svm.cpp:2892: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(model_file_name,"rb"); data/fcl-0.5.0/test/libsvm/svm.cpp:2908: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 cmd[81]; data/fcl-0.5.0/test/test_fcl_utility.cpp:105:16: [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* file = fopen(filename, "rb"); data/fcl-0.5.0/test/test_fcl_utility.cpp:114: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 line_buffer[2000]; data/fcl-0.5.0/test/test_fcl_utility.cpp:163:22: [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). tri[0] = atoi(data[0]) - 1; data/fcl-0.5.0/test/test_fcl_utility.cpp:164:22: [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). tri[1] = atoi(data[1]) - 1; data/fcl-0.5.0/test/test_fcl_utility.cpp:165:22: [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). tri[2] = atoi(data[2]) - 1; data/fcl-0.5.0/test/test_fcl_utility.cpp:178:24: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tri[i] = atoi(v1) - 1; data/fcl-0.5.0/include/fcl/BV/AABB.h:209: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. inline bool equal(const AABB& other) const data/fcl-0.5.0/include/fcl/BV/AABB.h:211: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. return min_.equal(other.min_) && max_.equal(other.max_); data/fcl-0.5.0/include/fcl/BV/AABB.h:211:43: [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 min_.equal(other.min_) && max_.equal(other.max_); data/fcl-0.5.0/include/fcl/math/math_details.h:161:20: [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 inline bool equal(const Vec3Data<T>& x, const Vec3Data<T>& y, T epsilon) data/fcl-0.5.0/include/fcl/math/vec_3f.h:135: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. inline bool equal(const Vec3fX& other, U epsilon = std::numeric_limits<U>::epsilon() * 100) const { return details::equal(data, other.data, epsilon); } data/fcl-0.5.0/include/fcl/math/vec_3f.h:135:119: [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 bool equal(const Vec3fX& other, U epsilon = std::numeric_limits<U>::epsilon() * 100) const { return details::equal(data, other.data, epsilon); } data/fcl-0.5.0/include/fcl/math/vec_3f.h:140: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. return equal(other, 0); data/fcl-0.5.0/include/fcl/simd/math_simd_details.h:408:20: [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 inline bool equal(const sse_meta_f4& x, const sse_meta_f4& y, float epsilon) data/fcl-0.5.0/include/fcl/simd/math_simd_details.h:415:20: [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 inline bool equal(const sse_meta_d4& x, const sse_meta_d4& y, double epsilon) data/fcl-0.5.0/src/broadphase/broadphase_SSaP.cpp:356: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(dummy_vector.equal(obj->getAABB().max_)) data/fcl-0.5.0/src/broadphase/broadphase_SaP.cpp:292: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(updated_aabb->cached.equal(updated_aabb->obj->getAABB())) data/fcl-0.5.0/src/broadphase/broadphase_SaP.cpp:642:19: [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(aabb.equal(obj->getAABB())) data/fcl-0.5.0/src/broadphase/broadphase_dynamic_AABB_tree.cpp:723: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. if(!node->bv.equal(updated_obj->getAABB())) data/fcl-0.5.0/src/broadphase/broadphase_dynamic_AABB_tree_array.cpp:746:35: [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(!dtree.getNodes()[node].bv.equal(updated_obj->getAABB())) data/fcl-0.5.0/src/broadphase/broadphase_interval_tree.cpp:459:19: [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(aabb.equal(obj->getAABB())) data/fcl-0.5.0/test/libsvm/svm.cpp:2883: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). len = (int) strlen(line); data/fcl-0.5.0/test/libsvm/svm.cpp:2911:5: [1] (buffer) fscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. fscanf(fp,"%80s",cmd); data/fcl-0.5.0/test/libsvm/svm.cpp:2915:7: [1] (buffer) fscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. fscanf(fp,"%80s",cmd); data/fcl-0.5.0/test/libsvm/svm.cpp:2940:7: [1] (buffer) fscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. fscanf(fp,"%80s",cmd); data/fcl-0.5.0/test/libsvm/svm.cpp:3012:17: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int c = getc(fp); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:197:37: [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 contact_equal = actual.pos.equal(expected.pos, tol); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:211:39: [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 normal_equal = actual.normal.equal(expected.normal, tol); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:214:36: [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. normal_equal = actual.normal.equal(-expected.normal, tol); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:644:29: [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. BOOST_CHECK(vertices[i].equal(contacts[i].pos)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:645:32: [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. BOOST_CHECK(Vec3f(0, 0, 1).equal(contacts[i].normal)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1101:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1105:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1142:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1146:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1183:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:1187:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4283:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4287:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4324:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4328:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4365:22: [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. BOOST_CHECK(normal.equal(Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4369:22: [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. BOOST_CHECK(normal.equal(transform.getRotation() * Vec3f(1, 0, 0), 1e-9)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4785:19: [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. BOOST_CHECK(p1A.equal(p2B, tol)); // closest points should in reverse order data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4786:19: [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. BOOST_CHECK(p2A.equal(p1B, tol)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4794:19: [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. BOOST_CHECK(p1A.equal(p2B, tol)); data/fcl-0.5.0/test/test_fcl_geometric_shapes.cpp:4795:19: [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. BOOST_CHECK(p2A.equal(p1B, tol)); data/fcl-0.5.0/test/test_fcl_math.cpp:62: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. BOOST_CHECK(v1.equal(v2 + v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:64: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:66: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. BOOST_CHECK(v1.equal(v2 - v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:70: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. BOOST_CHECK(v1.equal(v2 * v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:72: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp: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. BOOST_CHECK(v1.equal(v2 / v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:78: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. BOOST_CHECK(v1.equal(v2 * 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:80: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:82: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. BOOST_CHECK(v1.equal(v2 / 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:86: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. BOOST_CHECK(v1.equal(v2 + 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:88: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:90: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. BOOST_CHECK(v1.equal(v2 - 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:93:44: [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. BOOST_CHECK((-Vec3f32(1.0f, 2.0f, 3.0f)).equal(Vec3f32(-1.0f, -2.0f, -3.0f))); data/fcl-0.5.0/test/test_fcl_math.cpp:97:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f32(-2.0f, 4.0f, -2.0f))); data/fcl-0.5.0/test/test_fcl_math.cpp:103:29: [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. BOOST_CHECK(normalize(v1).equal(v1 / v1.length())); data/fcl-0.5.0/test/test_fcl_math.cpp:117: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. BOOST_CHECK(v1.equal(v2 + v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:119: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:121: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. BOOST_CHECK(v1.equal(v2 - v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:125: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. BOOST_CHECK(v1.equal(v2 * v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:127: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:129: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. BOOST_CHECK(v1.equal(v2 / v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:133: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. BOOST_CHECK(v1.equal(v2 * 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:135: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:137: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. BOOST_CHECK(v1.equal(v2 / 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:141: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. BOOST_CHECK(v1.equal(v2 + 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:143: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:145: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. BOOST_CHECK(v1.equal(v2 - 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:148:41: [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. BOOST_CHECK((-Vec3f64(1.0, 2.0, 3.0)).equal(Vec3f64(-1.0, -2.0, -3.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:152:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f64(-2.0, 4.0, -2.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:158:29: [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. BOOST_CHECK(normalize(v1).equal(v1 / v1.length())); data/fcl-0.5.0/test/test_fcl_math.cpp:163:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f64(-2.0, 4.0, -2.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:180: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. BOOST_CHECK(v1.equal(v2 + v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:182: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:184: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. BOOST_CHECK(v1.equal(v2 - v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:188: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. BOOST_CHECK(v1.equal(v2 * v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:190: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:192: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. BOOST_CHECK(v1.equal(v2 / v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:196: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. BOOST_CHECK(v1.equal(v2 * 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:198: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:200: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. BOOST_CHECK(v1.equal(v2 / 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:204: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. BOOST_CHECK(v1.equal(v2 + 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:206: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:208: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. BOOST_CHECK(v1.equal(v2 - 2.0f)); data/fcl-0.5.0/test/test_fcl_math.cpp:211:44: [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. BOOST_CHECK((-Vec3f32(1.0f, 2.0f, 3.0f)).equal(Vec3f32(-1.0f, -2.0f, -3.0f))); data/fcl-0.5.0/test/test_fcl_math.cpp:215:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f32(-2.0f, 4.0f, -2.0f))); data/fcl-0.5.0/test/test_fcl_math.cpp:221:29: [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. BOOST_CHECK(normalize(v1).equal(v1 / v1.length())); data/fcl-0.5.0/test/test_fcl_math.cpp:235: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. BOOST_CHECK(v1.equal(v2 + v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:237: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:239: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. BOOST_CHECK(v1.equal(v2 - v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:243: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. BOOST_CHECK(v1.equal(v2 * v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:245: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:247: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. BOOST_CHECK(v1.equal(v2 / v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:251: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. BOOST_CHECK(v1.equal(v2 * 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:253: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:255: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. BOOST_CHECK(v1.equal(v2 / 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:259: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. BOOST_CHECK(v1.equal(v2 + 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:261: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. BOOST_CHECK(v1.equal(v2)); data/fcl-0.5.0/test/test_fcl_math.cpp:263: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. BOOST_CHECK(v1.equal(v2 - 2.0)); data/fcl-0.5.0/test/test_fcl_math.cpp:266:41: [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. BOOST_CHECK((-Vec3f64(1.0, 2.0, 3.0)).equal(Vec3f64(-1.0, -2.0, -3.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:270:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f64(-2.0, 4.0, -2.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:276:29: [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. BOOST_CHECK(normalize(v1).equal(v1 / v1.length())); data/fcl-0.5.0/test/test_fcl_math.cpp:281:30: [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. BOOST_CHECK((v1.cross(v2)).equal(Vec3f64(-2.0, 4.0, -2.0))); data/fcl-0.5.0/test/test_fcl_math.cpp:455:29: [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. BOOST_CHECK((v1 + delta1).equal(v1)); data/fcl-0.5.0/test/test_fcl_math.cpp:456:29: [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. BOOST_CHECK((v3 + delta2).equal(v3)); data/fcl-0.5.0/test/test_fcl_math.cpp:603:29: [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. BOOST_CHECK((v1 + delta1).equal(v1)); data/fcl-0.5.0/test/test_fcl_math.cpp:604:29: [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. BOOST_CHECK((v3 + delta2).equal(v3)); data/fcl-0.5.0/test/test_fcl_sphere_capsule.cpp:127:35: [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. BOOST_CHECK (Vec3f (0., 0., 1.).equal(normal)); data/fcl-0.5.0/test/test_fcl_sphere_capsule.cpp:128:35: [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. BOOST_CHECK (Vec3f (0., 0., 0.).equal(contact_point)); data/fcl-0.5.0/test/test_fcl_sphere_capsule.cpp:154:34: [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. BOOST_CHECK (Vec3f (0., 0., 1.).equal(normal)); data/fcl-0.5.0/test/test_fcl_sphere_capsule.cpp:155:35: [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. BOOST_CHECK (Vec3f (0., 0., 50.).equal(contact_point, solver.collision_tolerance)); data/fcl-0.5.0/test/test_fcl_utility.cpp:155:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(strlen(data[n])) ANALYSIS SUMMARY: Hits = 141 Lines analyzed = 67438 in approximately 1.68 seconds (40114 lines/second) Physical Source Lines of Code (SLOC) = 47774 Hits@level = [0] 43 [1] 112 [2] 28 [3] 0 [4] 1 [5] 0 Hits@level+ = [0+] 184 [1+] 141 [2+] 29 [3+] 1 [4+] 1 [5+] 0 Hits/KSLOC@level+ = [0+] 3.85147 [1+] 2.9514 [2+] 0.607025 [3+] 0.0209319 [4+] 0.0209319 [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.