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/cricket-1.0.5/util/LeanODBC/stripsql.h Examining data/cricket-1.0.5/util/getFormat.c Examining data/cricket-1.0.5/debian/wrapper-mini.c Examining data/cricket-1.0.5/debian/wrapper.c FINAL RESULTS: data/cricket-1.0.5/util/getFormat.c:52:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s a5", rrdFormat); data/cricket-1.0.5/util/getFormat.c:55:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s a5 x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:63:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s d", rrdFormat); data/cricket-1.0.5/util/getFormat.c:66:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s d x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:74:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(h1.ds_cnt)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:77:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(h1.ds_cnt)==8)?'Q':'L', pad); data/cricket-1.0.5/util/getFormat.c:85:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(h1.rra_cnt)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:88:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(h1.rra_cnt)==8)?'Q':'L', pad); data/cricket-1.0.5/util/getFormat.c:96:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(h1.pdp_step)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:99:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(h1.pdp_step)==8)?'Q':'L', pad); data/cricket-1.0.5/util/getFormat.c:106:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:133:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s a%d", rrdFormat, DST_SIZE); data/cricket-1.0.5/util/getFormat.c:136:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s a%d x%d", rrdFormat, DST_SIZE, pad); data/cricket-1.0.5/util/getFormat.c:143:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(unival)==8)?'Q':'L', data/cricket-1.0.5/util/getFormat.c:146:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(unival)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:150:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s d d", rrdFormat); data/cricket-1.0.5/util/getFormat.c:155:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:185:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(h2.row_cnt)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:188:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(h2.row_cnt)==8)?'Q':'L', pad); data/cricket-1.0.5/util/getFormat.c:196:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(h2.pdp_cnt)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:199:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(h2.pdp_cnt)==8)?'Q':'L', pad); data/cricket-1.0.5/util/getFormat.c:205:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s d", rrdFormat); data/cricket-1.0.5/util/getFormat.c:211:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:249:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(unival)==8)?'Q':'L', data/cricket-1.0.5/util/getFormat.c:252:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(unival)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:256:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s d", rrdFormat); data/cricket-1.0.5/util/getFormat.c:261:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:279:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c x%d", rrdFormat, (sizeof(unival)==8)?'Q':'L', data/cricket-1.0.5/util/getFormat.c:282:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s %c", rrdFormat, (sizeof(unival)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:288:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(rrdFormat, "%s x%d", rrdFormat, pad); data/cricket-1.0.5/util/getFormat.c:34: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:41:5: [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(rrdFormat, "a4"); data/cricket-1.0.5/util/getFormat.c:44:5: [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(rrdFormat, "a4 x%d", pad); data/cricket-1.0.5/util/getFormat.c:113: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:122:5: [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(rrdFormat, "a%d", DS_NAM_SIZE); data/cricket-1.0.5/util/getFormat.c:125:5: [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(rrdFormat, "a%d x%d", DS_NAM_SIZE, pad); data/cricket-1.0.5/util/getFormat.c:164: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:174:5: [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(rrdFormat, "a%d", CF_NAM_SIZE); data/cricket-1.0.5/util/getFormat.c:177:5: [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(rrdFormat, "a%d x%d", CF_NAM_SIZE, pad); data/cricket-1.0.5/util/getFormat.c:218: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:222:3: [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(rrdFormat, "%c", (sizeof(time_t)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:229: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:239:5: [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(rrdFormat, "a%d", LAST_DS_LEN); data/cricket-1.0.5/util/getFormat.c:242:5: [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(rrdFormat, "a%d x%d", LAST_DS_LEN, pad); data/cricket-1.0.5/util/getFormat.c:270: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:295: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:299:3: [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(rrdFormat, "%c", (sizeof(&rrdFormat)==8)?'Q':'L'); data/cricket-1.0.5/util/getFormat.c:305: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 rrdFormat[80]; data/cricket-1.0.5/util/getFormat.c:275:3: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. sprintf(rrdFormat, "d"); /* cdp_val is a double */ data/cricket-1.0.5/util/getFormat.c:307:3: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. sprintf(rrdFormat, "d"); /* Assuming all data elements are just doubles * ANALYSIS SUMMARY: Hits = 50 Lines analyzed = 432 in approximately 0.08 seconds (5161 lines/second) Physical Source Lines of Code (SLOC) = 329 Hits@level = [0] 8 [1] 2 [2] 18 [3] 0 [4] 30 [5] 0 Hits@level+ = [0+] 58 [1+] 50 [2+] 48 [3+] 30 [4+] 30 [5+] 0 Hits/KSLOC@level+ = [0+] 176.292 [1+] 151.976 [2+] 145.897 [3+] 91.1854 [4+] 91.1854 [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.