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/libpixelif-0.8.4/src/locales/libpixelif_locales.c Examining data/libpixelif-0.8.4/src/locales/libpixelif_locales.h Examining data/libpixelif-0.8.4/src/screen_interface/screen_pixel_interface.h Examining data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.h Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_wordwrapper.c Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_font.h Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.h Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_wordwrapper.h Examining data/libpixelif-0.8.4/src/pixel_interface/true_type_font.c Examining data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c FINAL RESULTS: data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c:114:5: [4] (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). strcpy(fullname, dirname); data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c:116:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(fullname, z_dir_entry.d_name); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:217:8: [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 last_left_margin_config_value_as_string[MAX_MARGIN_AS_STRING_LEN]; data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:218:8: [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 last_right_margin_config_value_as_string[MAX_MARGIN_AS_STRING_LEN]; data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:230:8: [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 last_font_size_config_value_as_string[MAX_VALUE_AS_STRING_LEN]; data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2659: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 latin1_buf1[14]; data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2660: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 latin1_buf2[9]; data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2699:9: [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(latin1_buf1, ": %d ", parameter1); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2700:9: [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(latin1_buf2, ": %d", parameter2); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2726:9: [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(latin1_buf1, "%02d:%02d", parameter1, parameter2); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:1408:30: [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 ( (value == NULL) || (strlen(value) == 0) ) data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:1485:30: [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 ( (value == NULL) || (strlen(value) == 0) ) data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2704:13: [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). + strlen(latin1_buf1) data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2706:13: [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). + strlen(latin1_buf2); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:2728:33: [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). rightside_char_length = strlen(latin1_buf1); data/libpixelif-0.8.4/src/pixel_interface/pixel_interface.c:3936: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). input_size = strlen((char*)cmd_history_ptr); data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c:109:19: [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). current_len = strlen(dirname) + strlen(z_dir_entry.d_name) + 2; data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c:109:37: [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). current_len = strlen(dirname) + strlen(z_dir_entry.d_name) + 2; data/libpixelif-0.8.4/src/pixel_interface/true_type_factory.c:115:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(fullname, "/"); ANALYSIS SUMMARY: Hits = 19 Lines analyzed = 6617 in approximately 0.19 seconds (34449 lines/second) Physical Source Lines of Code (SLOC) = 4388 Hits@level = [0] 3 [1] 9 [2] 8 [3] 0 [4] 2 [5] 0 Hits@level+ = [0+] 22 [1+] 19 [2+] 10 [3+] 2 [4+] 2 [5+] 0 Hits/KSLOC@level+ = [0+] 5.01367 [1+] 4.32999 [2+] 2.27894 [3+] 0.455789 [4+] 0.455789 [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.