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/ddcci-driver-linux-0.3.3/ddcci-backlight/ddcci-backlight.c Examining data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c Examining data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h FINAL RESULTS: data/ddcci-driver-linux-0.3.3/ddcci-backlight/ddcci-backlight.c:41:11: [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. unsigned char buf[4]; data/ddcci-driver-linux-0.3.3/ddcci-backlight/ddcci-backlight.c:59:11: [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. unsigned char buf[10]; data/ddcci-driver-linux-0.3.3/ddcci-backlight/ddcci-backlight.c:186: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 vcp_hex[3]; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:52:11: [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. unsigned char recv_buffer[DDCCI_RECV_BUFFER_SIZE]; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:277:4: [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(buf, &recvbuf[2], (ret < len) ? ret : len); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:304:11: [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. unsigned char cmd[3] = { DDCCI_COMMAND_CAPS, 0x00, 0x00}; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:332:4: [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(buf, chunkbuf+3, result-3); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:367:11: [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. unsigned char cmd[2] = { DDCCI_COMMAND_ID, 0x00 }; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:504: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(buf, &buffer[2], payload_len); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:507: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(buf, &buffer[2], len); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:518:11: [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. unsigned char buffer[129]; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:720:4: [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(buf, device->capabilities, len); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1311: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(dest, ptr, (len < maxlen) ? len : maxlen); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1424: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(device->vendor, &buffer[7], 8); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1425: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(device->module, &buffer[17], 8); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1438: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(device->capabilities, buffer, ret); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1485:11: [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. unsigned char buf[32]; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1486:11: [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. unsigned char cmd[2] = { DDCCI_COMMAND_ID, 0x00 }; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:64: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 prot[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:65: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 type[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:66: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 model[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h: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 vendor[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:68: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 module[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:103: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 prot[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:104: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 type[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:105: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 model[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h:106: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 vendor[9]; data/ddcci-driver-linux-0.3.3/include/linux/ddcci.h: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 module[9]; data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:739: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). len = strlen(device->prot); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:740:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, device->prot, PAGE_SIZE); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:761: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). len = strlen(device->type); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:762:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, device->type, PAGE_SIZE); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:783: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). len = strlen(device->model); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:784:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, device->model, PAGE_SIZE); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:805: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). len = strlen(device->vendor); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:806:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, device->vendor, PAGE_SIZE); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:827: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). len = strlen(device->module); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:828:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, device->module, PAGE_SIZE); data/ddcci-driver-linux-0.3.3/ddcci/ddcci.c:1267: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). int taglen = strlen(tag); ANALYSIS SUMMARY: Hits = 39 Lines analyzed = 2265 in approximately 0.08 seconds (28299 lines/second) Physical Source Lines of Code (SLOC) = 1600 Hits@level = [0] 1 [1] 11 [2] 28 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 40 [1+] 39 [2+] 28 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 25 [1+] 24.375 [2+] 17.5 [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.