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/libepoxy-1.5.4/include/epoxy/common.h Examining data/libepoxy-1.5.4/include/epoxy/egl.h Examining data/libepoxy-1.5.4/include/epoxy/gl.h Examining data/libepoxy-1.5.4/include/epoxy/glx.h Examining data/libepoxy-1.5.4/include/epoxy/wgl.h Examining data/libepoxy-1.5.4/src/dispatch_common.c Examining data/libepoxy-1.5.4/src/dispatch_common.h Examining data/libepoxy-1.5.4/src/dispatch_egl.c Examining data/libepoxy-1.5.4/src/dispatch_glx.c Examining data/libepoxy-1.5.4/src/dispatch_wgl.c Examining data/libepoxy-1.5.4/test/cgl_core.c Examining data/libepoxy-1.5.4/test/cgl_epoxy_api.c Examining data/libepoxy-1.5.4/test/dlwrap.c Examining data/libepoxy-1.5.4/test/dlwrap.h Examining data/libepoxy-1.5.4/test/egl_common.c Examining data/libepoxy-1.5.4/test/egl_common.h Examining data/libepoxy-1.5.4/test/egl_epoxy_api.c Examining data/libepoxy-1.5.4/test/egl_gl.c Examining data/libepoxy-1.5.4/test/egl_has_extension_nocontext.c Examining data/libepoxy-1.5.4/test/egl_without_glx.c Examining data/libepoxy-1.5.4/test/gl_version.c Examining data/libepoxy-1.5.4/test/glx_alias_prefer_same_name.c Examining data/libepoxy-1.5.4/test/glx_beginend.c Examining data/libepoxy-1.5.4/test/glx_common.c Examining data/libepoxy-1.5.4/test/glx_common.h Examining data/libepoxy-1.5.4/test/glx_gles2.c Examining data/libepoxy-1.5.4/test/glx_glxgetprocaddress_nocontext.c Examining data/libepoxy-1.5.4/test/glx_has_extension_nocontext.c Examining data/libepoxy-1.5.4/test/glx_public_api.c Examining data/libepoxy-1.5.4/test/glx_public_api_core.c Examining data/libepoxy-1.5.4/test/glx_static.c Examining data/libepoxy-1.5.4/test/headerguards.c Examining data/libepoxy-1.5.4/test/khronos_typedefs.c Examining data/libepoxy-1.5.4/test/khronos_typedefs.h Examining data/libepoxy-1.5.4/test/khronos_typedefs_nonepoxy.c Examining data/libepoxy-1.5.4/test/miscdefines.c Examining data/libepoxy-1.5.4/test/wgl_common.c Examining data/libepoxy-1.5.4/test/wgl_common.h Examining data/libepoxy-1.5.4/test/wgl_core_and_exts.c Examining data/libepoxy-1.5.4/test/wgl_per_context_funcptrs.c Examining data/libepoxy-1.5.4/test/wgl_usefontbitmaps.c FINAL RESULTS: data/libepoxy-1.5.4/src/dispatch_common.c:207:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __pragma(section(".CRT$XCU",read)) \ data/libepoxy-1.5.4/src/dispatch_common.c:213:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __pragma(section(".CRT$XCU",read)) \ data/libepoxy-1.5.4/src/dispatch_common.c:391:40: [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). return strncmp(es_prefix, version, strlen(es_prefix)); data/libepoxy-1.5.4/src/dispatch_common.c:506:11: [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 = strlen(ext); data/libepoxy-1.5.4/test/dlwrap.c:88:21: [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). strlen(wrapped_libs[i].filename)) == 0) { data/libepoxy-1.5.4/test/wgl_usefontbitmaps.c:50: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). glCallLists(strlen(string), GL_UNSIGNED_BYTE, string); data/libepoxy-1.5.4/test/wgl_usefontbitmaps.c:59: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). glCallLists(strlen(string), GL_UNSIGNED_BYTE, string); ANALYSIS SUMMARY: Hits = 7 Lines analyzed = 4922 in approximately 0.19 seconds (25401 lines/second) Physical Source Lines of Code (SLOC) = 2654 Hits@level = [0] 37 [1] 7 [2] 0 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 44 [1+] 7 [2+] 0 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 16.5787 [1+] 2.63753 [2+] 0 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 2 (--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.