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/quasselc-0~git20170114/bot.c Examining data/quasselc-0~git20170114/bot.h Examining data/quasselc-0~git20170114/cmds.c Examining data/quasselc-0~git20170114/cmds.h Examining data/quasselc-0~git20170114/display.c Examining data/quasselc-0~git20170114/display.h Examining data/quasselc-0~git20170114/export.h Examining data/quasselc-0~git20170114/getters.c Examining data/quasselc-0~git20170114/getters.h Examining data/quasselc-0~git20170114/io.c Examining data/quasselc-0~git20170114/io.h Examining data/quasselc-0~git20170114/main.c Examining data/quasselc-0~git20170114/negotiation.c Examining data/quasselc-0~git20170114/quasselc.h Examining data/quasselc-0~git20170114/setters.c Examining data/quasselc-0~git20170114/setters.h Examining data/quasselc-0~git20170114/symbols.c Examining data/quasselc-0~git20170114/types.h FINAL RESULTS: data/quasselc-0~git20170114/bot.c:31:23: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #define dprintf(x...) printf(x) data/quasselc-0~git20170114/cmds.c:31:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:67:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:107:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:148:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:183:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:210:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:244:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:271:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:322:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:359:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:394:2: [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 msg[2048]; data/quasselc-0~git20170114/cmds.c:429:2: [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 msg[2048]; data/quasselc-0~git20170114/display.c:111: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(str, buf+4, size); data/quasselc-0~git20170114/getters.c:36:9: [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 buf[512]; data/quasselc-0~git20170114/getters.c:84:2: [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(ret, *buf, size); data/quasselc-0~git20170114/io.c:117: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 ZBuf[1024]; data/quasselc-0~git20170114/main.c:36:14: [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). int netid = atoi(network); data/quasselc-0~git20170114/main.c:278:45: [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). handle_event(extarg, h, TopicChange, atoi(network), chan, topic); data/quasselc-0~git20170114/setters.c:36:9: [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 buf[2048]; data/quasselc-0~git20170114/setters.c:54:2: [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(msg+4, tmp, size); data/quasselc-0~git20170114/setters.c:60:2: [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(msg+4, str, strlen(str)); data/quasselc-0~git20170114/display.c:126:8: [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). buf+=strlen(buf)+1; data/quasselc-0~git20170114/display.c:130:8: [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). buf+=strlen(buf)+1; data/quasselc-0~git20170114/display.c:133:8: [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). buf+=strlen(buf)+1; data/quasselc-0~git20170114/display.c:136:8: [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). buf+=strlen(buf)+1; data/quasselc-0~git20170114/display.c:139:8: [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). buf+=strlen(buf)+1; data/quasselc-0~git20170114/setters.c:39:5: [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). s1=strlen(str); data/quasselc-0~git20170114/setters.c:59:26: [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). *(uint32_t*)(msg)=htonl(strlen(str)); data/quasselc-0~git20170114/setters.c:60: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). memcpy(msg+4, str, strlen(str)); data/quasselc-0~git20170114/setters.c:61:9: [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 strlen(str)+4; ANALYSIS SUMMARY: Hits = 31 Lines analyzed = 2763 in approximately 0.11 seconds (24638 lines/second) Physical Source Lines of Code (SLOC) = 2164 Hits@level = [0] 65 [1] 9 [2] 21 [3] 0 [4] 1 [5] 0 Hits@level+ = [0+] 96 [1+] 31 [2+] 22 [3+] 1 [4+] 1 [5+] 0 Hits/KSLOC@level+ = [0+] 44.3623 [1+] 14.3253 [2+] 10.1664 [3+] 0.462107 [4+] 0.462107 [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.