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/libitl-0.8.0/hijri/demo_hijri.c Examining data/libitl-0.8.0/hijri/hijri.c Examining data/libitl-0.8.0/hijri/hijri.h Examining data/libitl-0.8.0/hijri/umm_alqura.c Examining data/libitl-0.8.0/new_method/src/config.c Examining data/libitl-0.8.0/new_method/src/config.h Examining data/libitl-0.8.0/new_method/src/defs.h Examining data/libitl-0.8.0/new_method/src/main.c Examining data/libitl-0.8.0/new_method/src/prayer.c Examining data/libitl-0.8.0/new_method/src/prayer.h Examining data/libitl-0.8.0/prayertime/astro.c Examining data/libitl-0.8.0/prayertime/astro.h Examining data/libitl-0.8.0/prayertime/demo_prayer.c Examining data/libitl-0.8.0/prayertime/prayer.c Examining data/libitl-0.8.0/prayertime/prayer.h FINAL RESULTS: data/libitl-0.8.0/new_method/src/config.c:67:9: [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(loc->name, value); data/libitl-0.8.0/hijri/hijri.c:66:1: [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 *g_day[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", data/libitl-0.8.0/hijri/hijri.c:69:1: [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 *h_day[7] = {"Ahad", "Ithnain", "Thulatha", "Arbiaa", data/libitl-0.8.0/hijri/hijri.c:72:1: [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 *g_day_short[7] = {"Sun", "Mon", "Tue", "Wed", data/libitl-0.8.0/hijri/hijri.c:75:1: [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 *h_day_short[7] = {"Ahd", "Ith", "Tha", "Arb", data/libitl-0.8.0/hijri/hijri.c:78:1: [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 *g_month[13] = {"skip", data/libitl-0.8.0/hijri/hijri.c:83:1: [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 *h_month[13] = {"skip", data/libitl-0.8.0/hijri/hijri.c:88:1: [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 *g_month_short[13] = {"skip", data/libitl-0.8.0/hijri/hijri.c:93:1: [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 *h_month_short[13] = {"skip", data/libitl-0.8.0/hijri/hijri.c:182:24: [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. fdate->frm_dname = (char *) frm_day[weekday]; data/libitl-0.8.0/hijri/hijri.c:183:27: [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. fdate->frm_dname_sh = (char *) frm_day_short[weekday]; data/libitl-0.8.0/hijri/hijri.c:184:24: [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. fdate->frm_mname = (char *) frm_month[frm_month_num]; data/libitl-0.8.0/hijri/hijri.c:185:27: [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. fdate->frm_mname_sh = (char *) frm_month_short[frm_month_num]; data/libitl-0.8.0/hijri/hijri.c:187:23: [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. fdate->to_dname = (char *) to_day[weekday]; data/libitl-0.8.0/hijri/hijri.c:188:26: [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. fdate->to_dname_sh = (char *) to_day_short[weekday]; data/libitl-0.8.0/hijri/hijri.c:189:23: [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. fdate->to_mname = (char *) to_month[to_month_num]; data/libitl-0.8.0/hijri/hijri.c:190:26: [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. fdate->to_mname_sh = (char *) to_month_short[to_month_num]; data/libitl-0.8.0/hijri/hijri.c:193:27: [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. fdate->to_mname2 = (char *) to_month[1]; data/libitl-0.8.0/hijri/hijri.c:195:27: [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. fdate->to_mname2 = (char *) to_month[to_month_num+1]; data/libitl-0.8.0/hijri/umm_alqura.c:27: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. extern char *g_day[7]; data/libitl-0.8.0/hijri/umm_alqura.c:28: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. extern char *h_day[7]; data/libitl-0.8.0/hijri/umm_alqura.c:29: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. extern char *g_day_short[7]; data/libitl-0.8.0/hijri/umm_alqura.c:30: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. extern char *h_day_short[7]; data/libitl-0.8.0/hijri/umm_alqura.c:31: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. extern char *g_month[13]; data/libitl-0.8.0/hijri/umm_alqura.c:32: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. extern char *h_month[13]; data/libitl-0.8.0/hijri/umm_alqura.c:33: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. extern char *g_month_short[13]; data/libitl-0.8.0/hijri/umm_alqura.c:34: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. extern char *h_month_short[13]; data/libitl-0.8.0/new_method/src/config.c:107:5: [2] (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). Risk is low because the source is a constant string. strcpy(loc->name, "Eindhoven, Netherlands"); data/libitl-0.8.0/new_method/src/config.c:141: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 line[1024]; data/libitl-0.8.0/new_method/src/config.c:147:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen(config_filename, "r"); data/libitl-0.8.0/new_method/src/config.c:254:9: [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(date, d, sizeof(struct tm)); data/libitl-0.8.0/new_method/src/config.h:28: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 name[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:29: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 latitude[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:30: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 longitude[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:31: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 altitude[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:32: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 asr_method[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:33: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 calc_method[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:34: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 extr_method[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:35: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 timezone[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/config.h:36: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 daylight[KEY_NAME_LENGTH]; data/libitl-0.8.0/new_method/src/defs.h:53: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 name[48]; /* Full name of the method */ data/libitl-0.8.0/new_method/src/defs.h:73: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 name[60]; /* Observer's location name */ data/libitl-0.8.0/prayertime/prayer.c:763:12: [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 dayList[2][13] = { data/libitl-0.8.0/new_method/src/config.c:42:17: [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). end = str + strlen(str) - 1; ANALYSIS SUMMARY: Hits = 44 Lines analyzed = 4499 in approximately 0.17 seconds (26708 lines/second) Physical Source Lines of Code (SLOC) = 3143 Hits@level = [0] 58 [1] 1 [2] 42 [3] 0 [4] 1 [5] 0 Hits@level+ = [0+] 102 [1+] 44 [2+] 43 [3+] 1 [4+] 1 [5+] 0 Hits/KSLOC@level+ = [0+] 32.4531 [1+] 13.9994 [2+] 13.6812 [3+] 0.318167 [4+] 0.318167 [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.