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/libcoro-perl-6.570/Coro/state.h Examining data/libcoro-perl-6.570/Coro/schmorp.h Examining data/libcoro-perl-6.570/Coro/libcoro/coro.c Examining data/libcoro-perl-6.570/Coro/libcoro/coro.h Examining data/libcoro-perl-6.570/Coro/libcoro/conftest.c Examining data/libcoro-perl-6.570/Coro/clone.c Examining data/libcoro-perl-6.570/Coro/CoroAPI.h Examining data/libcoro-perl-6.570/Coro/ecb.h FINAL RESULTS: data/libcoro-perl-6.570/Coro/ecb.h:764:58: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. ecb_inline void ecb_poke_u16_u (void *ptr, uint16_t v) { memcpy (ptr, &v, sizeof (v)); } data/libcoro-perl-6.570/Coro/ecb.h:765:58: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. ecb_inline void ecb_poke_u32_u (void *ptr, uint32_t v) { memcpy (ptr, &v, sizeof (v)); } data/libcoro-perl-6.570/Coro/ecb.h:766:58: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. ecb_inline void ecb_poke_u64_u (void *ptr, uint64_t v) { memcpy (ptr, &v, sizeof (v)); } data/libcoro-perl-6.570/Coro/ecb.h:797:67: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. template<typename T> inline void ecb_poke_u (void *ptr, T v) { memcpy (ptr, &v, sizeof (v)); } data/libcoro-perl-6.570/Coro/ecb.h:994: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 (&r, &x, 4); data/libcoro-perl-6.570/Coro/ecb.h:1034: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 (&r, &x, 4); data/libcoro-perl-6.570/Coro/ecb.h:1064: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 (&r, &x, 8); data/libcoro-perl-6.570/Coro/ecb.h:1104: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 (&r, &x, 8); data/libcoro-perl-6.570/Coro/libcoro/conftest.c:50: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 garbage[1024]; data/libcoro-perl-6.570/Coro/libcoro/conftest.c:65: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 garbage[1024]; data/libcoro-perl-6.570/Coro/libcoro/conftest.c:81: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 result[1024]; data/libcoro-perl-6.570/Coro/libcoro/conftest.c:139:14: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(result, "(skaddr)+(sksize)-%d,(sksize)-%d", data/libcoro-perl-6.570/Coro/libcoro/conftest.c:142:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(result, "(skaddr)+(sksize),(sksize)"); data/libcoro-perl-6.570/Coro/libcoro/conftest.c:147:13: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(result, "(skaddr),(sksize)-%d", sizeof(union alltypes)); data/libcoro-perl-6.570/Coro/libcoro/conftest.c:149:13: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(result, "(skaddr),(sksize)"); data/libcoro-perl-6.570/Coro/schmorp.h:417:10: [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. static char counter [8]; data/libcoro-perl-6.570/Coro/schmorp.h:431: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 [9]; data/libcoro-perl-6.570/Coro/schmorp.h:436:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read (epp->fd [0], buf, sizeof (buf)); ANALYSIS SUMMARY: Hits = 18 Lines analyzed = 3728 in approximately 0.11 seconds (34703 lines/second) Physical Source Lines of Code (SLOC) = 2561 Hits@level = [0] 2 [1] 1 [2] 17 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 20 [1+] 18 [2+] 17 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 7.80945 [1+] 7.0285 [2+] 6.63803 [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.