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/ldap2zone-0.2/ldap2zone.c FINAL RESULTS: data/ldap2zone-0.2/ldap2zone.c:233:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char *)rrdata->key.data, "%s %s", ttl, type); data/ldap2zone-0.2/ldap2zone.c:298:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fltr, "(&(relativeDomainName=@)(zoneName=%s))", argv[1]); data/ldap2zone-0.2/ldap2zone.c:352:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fltr, "(zoneName=%s)", argv[1]); data/ldap2zone-0.2/ldap2zone.c:210: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(rr->key.data, name->bv_val, name->bv_len); data/ldap2zone-0.2/ldap2zone.c:244: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(rrdata->val.data, val->bv_val, val->bv_len); data/ldap2zone-0.2/ldap2zone.c:261: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 type[64]; data/ldap2zone-0.2/ldap2zone.c:297: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. fltr = (char *)malloc(strlen(argv[1]) + strlen("(&(relativeDomainName=@)(zoneName=))") + 1); data/ldap2zone-0.2/ldap2zone.c:347: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. fltr = (char *)malloc(strlen(argv[1]) + strlen("(zoneName=)") + 1); data/ldap2zone-0.2/ldap2zone.c:225:23: [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). rrdata->key.len = strlen(type) + strlen(ttl) + 2; /* null byte and space */ data/ldap2zone-0.2/ldap2zone.c:225:38: [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). rrdata->key.len = strlen(type) + strlen(ttl) + 2; /* null byte and space */ data/ldap2zone-0.2/ldap2zone.c:277:15: [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). if (!s || strlen(s) < 3 || s[1] != '/' || s[2] != '/') data/ldap2zone-0.2/ldap2zone.c:297:24: [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). fltr = (char *)malloc(strlen(argv[1]) + strlen("(&(relativeDomainName=@)(zoneName=))") + 1); data/ldap2zone-0.2/ldap2zone.c:297:42: [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). fltr = (char *)malloc(strlen(argv[1]) + strlen("(&(relativeDomainName=@)(zoneName=))") + 1); data/ldap2zone-0.2/ldap2zone.c:347:24: [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). fltr = (char *)malloc(strlen(argv[1]) + strlen("(zoneName=)") + 1); data/ldap2zone-0.2/ldap2zone.c:347:42: [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). fltr = (char *)malloc(strlen(argv[1]) + strlen("(zoneName=)") + 1); data/ldap2zone-0.2/ldap2zone.c:388:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(type, a, s - a); ANALYSIS SUMMARY: Hits = 16 Lines analyzed = 416 in approximately 0.16 seconds (2571 lines/second) Physical Source Lines of Code (SLOC) = 329 Hits@level = [0] 14 [1] 8 [2] 5 [3] 0 [4] 3 [5] 0 Hits@level+ = [0+] 30 [1+] 16 [2+] 8 [3+] 3 [4+] 3 [5+] 0 Hits/KSLOC@level+ = [0+] 91.1854 [1+] 48.6322 [2+] 24.3161 [3+] 9.11854 [4+] 9.11854 [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.