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/libtcd-2.2.2/tide_db_default.h Examining data/libtcd-2.2.2/tide_db_header.h Examining data/libtcd-2.2.2/bit_pack.c Examining data/libtcd-2.2.2/tide_db.c FINAL RESULTS: data/libtcd-2.2.2/tide_db.c:891: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 (rec->name, tindex[num].name); data/libtcd-2.2.2/tide_db.c:1245: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 (last_search, search); data/libtcd-2.2.2/tide_db.c:1851: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 (hd.tzfile[hd.pub.tzfiles++], c_name); data/libtcd-2.2.2/tide_db.c:1917: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 (hd.country[hd.pub.countries++], c_name); data/libtcd-2.2.2/tide_db.c:1983: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 (hd.datum[hd.pub.datum_types++], c_name); data/libtcd-2.2.2/tide_db.c:2034: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 (hd.legalese[hd.pub.legaleses++], c_name); data/libtcd-2.2.2/tide_db.c:2100: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 (hd.restriction[hd.pub.restriction_types++], c_name); data/libtcd-2.2.2/tide_db.c:2537: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 ((NV_CHAR *) &buf[pos], hd.level_unit[i]); data/libtcd-2.2.2/tide_db.c:2560: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 ((NV_CHAR *) &buf[pos], hd.dir_unit[i]); data/libtcd-2.2.2/tide_db.c:2584: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 ((NV_CHAR *) &buf[pos], hd.restriction[i]); data/libtcd-2.2.2/tide_db.c:2609: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 ((NV_CHAR *) &buf[pos], hd.tzfile[i]); data/libtcd-2.2.2/tide_db.c:2634: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 ((NV_CHAR *) &buf[pos], hd.country[i]); data/libtcd-2.2.2/tide_db.c:2659: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 ((NV_CHAR *) &buf[pos], hd.datum[i]); data/libtcd-2.2.2/tide_db.c:2684: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 ((NV_CHAR *) &buf[pos], hd.legalese[i]); data/libtcd-2.2.2/tide_db.c:2708: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 ((NV_CHAR *) &buf[pos], hd.constituent[i]); data/libtcd-2.2.2/tide_db.c:3043:15: [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 (keys[i].address.cstr, clip_string(info)); data/libtcd-2.2.2/tide_db.c:3168: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 (hd.level_unit[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3191: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 (hd.dir_unit[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3221: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 (hd.restriction[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3258: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 (hd.tzfile[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3287: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 (hd.country[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3315: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 (hd.datum[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3350:4: [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 (hd.legalese[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3375: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 (hd.constituent[i], (NV_CHAR *) buf); data/libtcd-2.2.2/tide_db.c:3557: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 (tindex[i].name, rec.header.name); data/libtcd-2.2.2/tide_db.c:3598: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 (filename, file); data/libtcd-2.2.2/tide_db.c:3822: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 (hd.constituent[i], constituent[i]); data/libtcd-2.2.2/tide_db.c:3971: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 (hd.level_unit[i], level_unit[i]); data/libtcd-2.2.2/tide_db.c:3986: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 (hd.dir_unit[i], dir_unit[i]); data/libtcd-2.2.2/tide_db.c:4005: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 (hd.restriction[i], restriction[i]); data/libtcd-2.2.2/tide_db.c:4023: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 (hd.legalese[i], legalese[i]); data/libtcd-2.2.2/tide_db.c:4040: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 (hd.tzfile[i], tzfile[i]); data/libtcd-2.2.2/tide_db.c:4057: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 (hd.country[i], country[i]); data/libtcd-2.2.2/tide_db.c:4074: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 (hd.datum[i], datum[i]); data/libtcd-2.2.2/tide_db.c:5145: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 (tindex[rec->header.record_number].name, rec->header.name); data/libtcd-2.2.2/tide_db.c:5374:4: [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(tindex[num].name, rec->header.name); data/libtcd-2.2.2/tide_db.c:1043: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 (tname, "-%02d:%02d", hour, minute); data/libtcd-2.2.2/tide_db.c:1047: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 (tname, "+%02d:%02d", hour, minute); data/libtcd-2.2.2/tide_db.c:1067:7: [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 (tname, "-%d:%02d", hour, minute); data/libtcd-2.2.2/tide_db.c:1069:7: [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 (tname, "+%d:%02d", hour, minute); data/libtcd-2.2.2/tide_db.c:1071:7: [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 (tname, "0:00"); data/libtcd-2.2.2/tide_db.c:1083: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 (tname, "NULL"); data/libtcd-2.2.2/tide_db.c:1090: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 (tname, "%4u-%02u-%02u", y, m, d); data/libtcd-2.2.2/tide_db.c:2587: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 (&buf[pos], "__END__", 7); data/libtcd-2.2.2/tide_db.c:2612: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 (&buf[pos], "__END__", 7); data/libtcd-2.2.2/tide_db.c:2637: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 (&buf[pos], "__END__", 7); data/libtcd-2.2.2/tide_db.c:2662: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 (&buf[pos], "__END__", 7); data/libtcd-2.2.2/tide_db.c:2687: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 (&buf[pos], "__END__", 7); data/libtcd-2.2.2/tide_db.c:3004: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 (hd.pub.version, "NO VERSION"); data/libtcd-2.2.2/tide_db.c:3327:7: [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 (hd.legalese[0], "NULL"); data/libtcd-2.2.2/tide_db.c:3594:15: [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). if ((fp = fopen (file, "rb+")) == NULL) { data/libtcd-2.2.2/tide_db.c:3595:19: [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). if ((fp = fopen (file, "rb")) == NULL) return (NVFalse); data/libtcd-2.2.2/tide_db.c:3796:15: [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). if ((fp = fopen (file, "wb+")) == NULL) return (NVFalse); data/libtcd-2.2.2/tide_db.c:1128:7: [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 (strlen(string) >= MONOLOGUE_LENGTH) { data/libtcd-2.2.2/tide_db.c:1132:47: [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). fprintf (stderr, "String is length %u\n", strlen(string)); data/libtcd-2.2.2/tide_db.c:1145:7: [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 (strlen(string) >= ONELINER_LENGTH) { data/libtcd-2.2.2/tide_db.c:1149:47: [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). fprintf (stderr, "String is length %u\n", strlen(string)); data/libtcd-2.2.2/tide_db.c:1182:12: [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). l = (int)strlen(string); data/libtcd-2.2.2/tide_db.c:1197:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (new_string, string+start, end-start+1); data/libtcd-2.2.2/tide_db.c:1240:22: [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). for (i = 0 ; i < strlen(string) + 1 ; ++i) data/libtcd-2.2.2/tide_db.c:1249:26: [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). for (i = 0 ; i < strlen(tindex[j].name) + 1 ; ++i) data/libtcd-2.2.2/tide_db.c:1822:7: [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 (strlen(name) + 1 > hd.tzfile_size) { data/libtcd-2.2.2/tide_db.c:1842:53: [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). hd.tzfile[hd.pub.tzfiles] = (NV_CHAR *) calloc (strlen (c_name) + 1, data/libtcd-2.2.2/tide_db.c:1888:7: [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 (strlen(name) + 1 > hd.country_size) { data/libtcd-2.2.2/tide_db.c:1908:56: [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). hd.country[hd.pub.countries] = (NV_CHAR *) calloc (strlen (c_name) + 1, data/libtcd-2.2.2/tide_db.c:1954:7: [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 (strlen(name) + 1 > hd.datum_size) { data/libtcd-2.2.2/tide_db.c:1974:56: [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). hd.datum[hd.pub.datum_types] = (NV_CHAR *) calloc (strlen (c_name) + 1, data/libtcd-2.2.2/tide_db.c:2005:7: [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 (strlen(name) + 1 > hd.legalese_size) { data/libtcd-2.2.2/tide_db.c:2025:57: [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). hd.legalese[hd.pub.legaleses] = (NV_CHAR *) calloc (strlen (c_name) + 1, data/libtcd-2.2.2/tide_db.c:2071:7: [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 (strlen(name) + 1 > hd.restriction_size) { data/libtcd-2.2.2/tide_db.c:2092:29: [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). (NV_CHAR *) calloc (strlen (c_name) + 1, sizeof (NV_CHAR)); data/libtcd-2.2.2/tide_db.c:2536: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). assert (strlen(hd.level_unit[i]) + 1 <= hd.level_unit_size); data/libtcd-2.2.2/tide_db.c:2559: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). assert (strlen(hd.dir_unit[i]) + 1 <= hd.dir_unit_size); data/libtcd-2.2.2/tide_db.c:2583: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). assert (strlen(hd.restriction[i]) + 1 <= hd.restriction_size); data/libtcd-2.2.2/tide_db.c:2608: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). assert (strlen(hd.tzfile[i]) + 1 <= hd.tzfile_size); data/libtcd-2.2.2/tide_db.c:2633: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). assert (strlen(hd.country[i]) + 1 <= hd.country_size); data/libtcd-2.2.2/tide_db.c:2658: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). assert (strlen(hd.datum[i]) + 1 <= hd.datum_size); data/libtcd-2.2.2/tide_db.c:2683: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). assert (strlen(hd.legalese[i]) + 1 <= hd.legalese_size); data/libtcd-2.2.2/tide_db.c:2707: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). assert (strlen(hd.constituent[i]) + 1 <= hd.constituent_size); data/libtcd-2.2.2/tide_db.c:3015: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). if (strlen (varin) == ONELINER_LENGTH-1) { data/libtcd-2.2.2/tide_db.c:3166:48: [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). hd.level_unit[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, data/libtcd-2.2.2/tide_db.c:3189:46: [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). hd.dir_unit[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, data/libtcd-2.2.2/tide_db.c:3219:49: [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). hd.restriction[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, data/libtcd-2.2.2/tide_db.c:3257:44: [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). hd.tzfile[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR)); data/libtcd-2.2.2/tide_db.c:3285:45: [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). hd.country[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, data/libtcd-2.2.2/tide_db.c:3314:43: [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). hd.datum[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR)); data/libtcd-2.2.2/tide_db.c:3349:41: [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). hd.legalese[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, sizeof (NV_CHAR)); data/libtcd-2.2.2/tide_db.c:3373:49: [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). hd.constituent[i] = (NV_CHAR *) calloc (strlen((char*)buf) + 1, data/libtcd-2.2.2/tide_db.c:3550: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). (NV_CHAR *) calloc (strlen (rec.header.name) + 1, data/libtcd-2.2.2/tide_db.c:3820:49: [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). hd.constituent[i] = (NV_CHAR *) calloc (strlen (constituent[i]) + 1, data/libtcd-2.2.2/tide_db.c:3969:48: [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). hd.level_unit[i] = (NV_CHAR *) calloc (strlen (level_unit[i]) + 1, data/libtcd-2.2.2/tide_db.c:3984:46: [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). hd.dir_unit[i] = (NV_CHAR *) calloc (strlen (dir_unit[i]) + 1, data/libtcd-2.2.2/tide_db.c:4003:49: [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). hd.restriction[i] = (NV_CHAR *) calloc (strlen (restriction[i]) + 1, data/libtcd-2.2.2/tide_db.c:4021:46: [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). hd.legalese[i] = (NV_CHAR *) calloc (strlen (legalese[i]) + 1, data/libtcd-2.2.2/tide_db.c:4038:44: [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). hd.tzfile[i] = (NV_CHAR *) calloc (strlen (tzfile[i]) + 1, data/libtcd-2.2.2/tide_db.c:4055:45: [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). hd.country[i] = (NV_CHAR *) calloc (strlen (country[i]) + 1, data/libtcd-2.2.2/tide_db.c:4072:43: [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). hd.datum[i] = (NV_CHAR *) calloc (strlen (datum[i]) + 1, data/libtcd-2.2.2/tide_db.c:4346: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). name_size = strlen(clip_string(rec->header.name))+1; data/libtcd-2.2.2/tide_db.c:4347: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). source_size = strlen(clip_string(rec->source))+1; data/libtcd-2.2.2/tide_db.c:4348: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). comments_size = strlen(clip_string(rec->comments))+1; data/libtcd-2.2.2/tide_db.c:4349:16: [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). notes_size = strlen(clip_string(rec->notes))+1; data/libtcd-2.2.2/tide_db.c:4350:29: [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). station_id_context_size = strlen(clip_string(rec->station_id_context))+1; data/libtcd-2.2.2/tide_db.c:4351:21: [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). station_id_size = strlen(clip_string(rec->station_id))+1; data/libtcd-2.2.2/tide_db.c:4353:18: [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). xfields_size = strlen(rec->xfields)+1; data/libtcd-2.2.2/tide_db.c:4433: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). temp_size = strlen(s)+1; data/libtcd-2.2.2/tide_db.c:5137: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). (NV_CHAR *) calloc (strlen (rec->header.name) + 1, data/libtcd-2.2.2/tide_db.c:5373:43: [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). tindex[num].name = (NV_CHAR *) calloc (strlen (rec->header.name) + 1, sizeof (NV_CHAR)); ANALYSIS SUMMARY: Hits = 107 Lines analyzed = 6678 in approximately 0.25 seconds (26388 lines/second) Physical Source Lines of Code (SLOC) = 3791 Hits@level = [0] 268 [1] 54 [2] 17 [3] 0 [4] 36 [5] 0 Hits@level+ = [0+] 375 [1+] 107 [2+] 53 [3+] 36 [4+] 36 [5+] 0 Hits/KSLOC@level+ = [0+] 98.9185 [1+] 28.2247 [2+] 13.9805 [3+] 9.49618 [4+] 9.49618 [5+] 0 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.