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-vision-opencv-1.15.0+ds/cv_bridge/include/cv_bridge/cv_bridge.h Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/include/cv_bridge/rgb_colors.h Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/cv_bridge.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module.hpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module_opencv4.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/pycompat.hpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/rgb_colors.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/test/test_compression.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/test/test_endian.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/test/test_rgb_colors.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/test/utest.cpp Examining data/ros-vision-opencv-1.15.0+ds/cv_bridge/test/utest2.cpp Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/include/image_geometry/exports.h Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/include/image_geometry/pinhole_camera_model.h Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/include/image_geometry/stereo_camera_model.h Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/src/pinhole_camera_model.cpp Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/src/stereo_camera_model.cpp Examining data/ros-vision-opencv-1.15.0+ds/image_geometry/test/utest.cpp FINAL RESULTS: data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module_opencv4.cpp:19:5: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. vsnprintf(str, sizeof(str), fmt, ap); data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module_opencv4.cpp:84:3: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. vsnprintf(str, sizeof(str), fmt, ap); data/ros-vision-opencv-1.15.0+ds/cv_bridge/include/cv_bridge/cv_bridge.h:371: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(stream.advance(data_size), m.image.data, data_size); data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/cv_bridge.cpp:104:51: [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). return CV_MAKETYPE(depthStrToInt(m[1].str()), atoi(m[2].str().c_str())); data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/cv_bridge.cpp:375: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((char*)(&ros_image.data[0]), image.data, size); data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/cv_bridge.cpp:384: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(ros_data_ptr, cv_data_ptr, ros_image.step); data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module_opencv4.cpp:15: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 str[1000]; data/ros-vision-opencv-1.15.0+ds/cv_bridge/src/module_opencv4.cpp:80: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 str[1000]; data/ros-vision-opencv-1.15.0+ds/cv_bridge/include/cv_bridge/cv_bridge.h:375:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). inline static void read(Stream& stream, cv_bridge::CvImage& m) ANALYSIS SUMMARY: Hits = 9 Lines analyzed = 3895 in approximately 0.13 seconds (29191 lines/second) Physical Source Lines of Code (SLOC) = 2481 Hits@level = [0] 0 [1] 1 [2] 6 [3] 0 [4] 2 [5] 0 Hits@level+ = [0+] 9 [1+] 9 [2+] 8 [3+] 2 [4+] 2 [5+] 0 Hits/KSLOC@level+ = [0+] 3.62757 [1+] 3.62757 [2+] 3.22451 [3+] 0.806127 [4+] 0.806127 [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.