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/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout_journals.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibdefs.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibformats.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibl.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibl.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtextypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibutils.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bibutils.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bltypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bu_auth.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/bu_auth.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/charsets.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/charsets.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/copacin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/copactypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/ebiin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/endout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/endtypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/endxmlin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/entities.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/entities.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/fields.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/fields.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030_enumeration.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/generic.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/generic.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/intlist.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/intlist.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/is_ws.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/is_ws.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/isiin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/isiout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/isitypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_1.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_1.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_2.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_2.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_3.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/iso639_3.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/latex.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/latex.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/latex_parse.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/latex_parse.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/marc_auth.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/marc_auth.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/medin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/modsin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/modstypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/modstypes.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/name.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/name.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/nbibin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/nbibout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/nbibtypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/notes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/notes.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/pages.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/pages.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/reftypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/reftypes.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/risin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/risout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/ristypes.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/serialno.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/serialno.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/slist.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/slist.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/str.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/strsearch.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/strsearch.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/title.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/title.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/type.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/type.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/unicode.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/unicode.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/url.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/url.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/vplist.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/vplist.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/wordin.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/wordout.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/xml.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/xml.h Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/xml_encoding.c Examining data/haskell-hs-bibutils-6.10.0.0/bibutils/xml_encoding.h Examining data/haskell-hs-bibutils-6.10.0.0/cbits/stub.c FINAL RESULTS: data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:328:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( outstr, "%02d/%s", month, str_cstr( year ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:913:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( outfile,"%s.%s",(char*)fields_value(reffields,found,FIELDS_CHRP_NOUSE), suffix ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:914:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. } else sprintf( outfile,"%ld.%s",nref, suffix ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:922:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( outfile, "%s_%ld.%s", (char*)fields_value( reffields, found, FIELDS_CHRP_NOUSE ), count, suffix ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:923:8: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. else sprintf( outfile,"%ld_%ld.%s", nref, count, suffix ); data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:509:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( date, "DATE:%s", date_element ); data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:513:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( partdate, "PARTDATE:%s", date_element ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:485:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( date, "DATE:%s", date_element ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:489:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( partdate, "PARTDATE:%s", date_element ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:299:47: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ( isdigit( (unsigned char)m[0] ) ) return atoi( m ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:322: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 outstr[1000]; data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:339: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 buf[6]; data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:342:2: [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( buf, "%I64d", n ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:344:2: [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( buf, "%lld", n ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:477: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 outstr[20], ch; data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:481:2: [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( outstr, "..................." ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:486:57: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ( n!=FIELDS_NOTFOUND ) output_4digit_value( outstr, atoi( fields_value( in, n, FIELDS_CHRP ) ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:500:59: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ( n!=FIELDS_NOTFOUND ) output_4digit_value( outstr+9, atoi( fields_value( in, n, FIELDS_CHRP ) ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:451: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 buf[256]=""; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:560: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 buf[512]; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:572:3: [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( buf, "_%ld", i+1 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:587: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 *p, buf[100]; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:621:3: [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( buf, "ref%ld", nref ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:898: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 outfile[2048]; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:899: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 suffix[5] = "xml"; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:903:39: [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. if ( mode==BIBL_ADSABSOUT ) strcpy( suffix, "ads" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:904:39: [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. else if ( mode==BIBL_BIBTEXOUT ) strcpy( suffix, "bib" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:905:39: [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. else if ( mode==BIBL_ENDNOTEOUT ) strcpy( suffix, "end" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:906:39: [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. else if ( mode==BIBL_ISIOUT ) strcpy( suffix, "isi" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:907:39: [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. else if ( mode==BIBL_MODSOUT ) strcpy( suffix, "xml" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:908:39: [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. else if ( mode==BIBL_RISOUT ) strcpy( suffix, "ris" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:909:39: [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. else if ( mode==BIBL_WORD2007OUT ) strcpy( suffix, "xml" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:916:7: [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( outfile, "r" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:924:8: [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( outfile, "r" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibcore.c:926:9: [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). return fopen( outfile, "w" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:170: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 *typenames[ NUM_TYPES ] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:506: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 date[100], partdate[100]; data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:523: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 *months[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:540:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). month = atoi( fields_value( in, n, FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:157: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 *typenames[ NUM_TYPES ] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:482: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 date[100], partdate[100]; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:499: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 *months[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:516:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). month = atoi( fields_value( in, n, FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/charsets.c:25: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 cmdname[15]; data/haskell-hs-bibutils-6.10.0.0/bibutils/charsets.c:26: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 descriptname[200]; data/haskell-hs-bibutils-6.10.0.0/bibutils/charsets.c:27: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 aliases[CHARSET_NALIASES][25]; data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:398: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 *month1[12]={ data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:406: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 *month2[12]={ data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:424:3: [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( out, "%d", found+1 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:426:3: [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( out, "0%d", found+1 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:434: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 *tags[3][2] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/endin.c:440: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 month[10], *m; data/haskell-hs-bibutils-6.10.0.0/bibutils/endout.c:521: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 *months[12] = { "January", "February", "March", "April", data/haskell-hs-bibutils-6.10.0.0/bibutils/endout.c:533:8: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). m = atoi( month ); data/haskell-hs-bibutils-6.10.0.0/bibutils/entities.c:17: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 html[20]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:34:62: [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. gb18030_unicode_table_lookup( unsigned int unicode, unsigned char out[4] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:76:62: [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. gb18030_unicode_range_lookup( unsigned int unicode, unsigned char out[4] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:128:48: [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. gb18030_encode( unsigned int unicode, unsigned char out[4] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:149: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 uc[4]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:151:21: [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. uc[0] = ( unsigned char ) s[i]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:159:22: [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. uc[1] = ( unsigned char ) s[i+1]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:160:22: [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. uc[2] = ( unsigned char ) s[i+2]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.c:161:21: [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. uc[3]= ( unsigned char ) s[i+3]; data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030.h:12:59: [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 int gb18030_encode( unsigned int unicode, unsigned char out[4] ); data/haskell-hs-bibutils-6.10.0.0/bibutils/gb18030_enumeration.c:5:18: [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 bytes[4]; data/haskell-hs-bibutils-6.10.0.0/bibutils/isiin.c:80: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. if ( !isupper( (unsigned char )buf[0] ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/isiin.c:81:29: [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. if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/isiin.c:81:66: [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. if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/modsin.c:261: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 *titletag[2][2] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:387:46: [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. find_datepos( fields *f, int level, unsigned char use_altnames, int datepos[NUM_DATE_TYPES] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:448: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. fprintf( outptr, "%s", (char *) fields_value( f, pos[i], FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:459: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. fprintf( outptr, "%s", (char *) fields_value( f, pos[ DATE_ALL ], FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:665: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. fprintf( outptr, "%s", (char *) fields_value( f, parts[0].pos, FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:669:28: [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. fprintf( outptr, "-%s", (char *) fields_value( f, parts[1].pos, FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/modsout.c:675:28: [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. fprintf( outptr, "-%s", (char *) fields_value( f, parts[2].pos, FIELDS_CHRP ) ); data/haskell-hs-bibutils-6.10.0.0/bibutils/name.c:171: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 utf8s[7]; data/haskell-hs-bibutils-6.10.0.0/bibutils/reftypes.h:54: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[25]; data/haskell-hs-bibutils-6.10.0.0/bibutils/risin.c:93: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. if ( !isupper( (unsigned char )buf[0] ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/risin.c:94:29: [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. if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/risin.c:94:66: [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. if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/risout.c:119: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. const char *typenames[ NUM_TYPES ] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/risout.c:337: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 *typenames[ NUM_TYPES ] = { data/haskell-hs-bibutils-6.10.0.0/bibutils/slist.c:741:7: [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( filename, "r" ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:631: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 empty[2] = ""; data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c:26: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 buf[512]; data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c:27:2: [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( buf, "&#%u;", ch ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c:54: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 code[6]; data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c:69: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 code[4]; data/haskell-hs-bibutils-6.10.0.0/bibutils/str_conv.c:84: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 buf[512]; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:25:42: [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. utf8_build( unsigned int value, unsigned char out[6], int in_pos, int out_pos ) data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:49:43: [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. utf8_encode( unsigned int value, unsigned char out[6] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:85:38: [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. utf8_encode_str( unsigned int value, char outstr[7] ) data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:87: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 encoded[6]; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:91:17: [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. outstr[i] = ( char ) encoded[i]; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:146: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 code[6]; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:172: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. const char emdash[3] = { -30, -128, -108 }; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.c:184: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. const char endash[3] = { -30, -128, -109 }; data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.h:14:56: [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. int utf8_encode( unsigned int value, unsigned char out[6] ); data/haskell-hs-bibutils-6.10.0.0/bibutils/utf8.h:15:51: [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. void utf8_encode_str( unsigned int value, char outstr[7] ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:346:23: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). if ( n < 10 ) strncpy( pos+3, buf, 1 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:347:23: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). else if ( n < 100 ) strncpy( pos+2, buf, 2 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:348:23: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). else if ( n < 1000 ) strncpy( pos+1, buf, 3 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/adsout.c:349:23: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). else strncpy( pos, buf, 4 ); data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:833: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). len = (value) ? strlen( value ) : 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:853:10: [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( tag ); data/haskell-hs-bibutils-6.10.0.0/bibutils/biblatexout.c:863: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( value ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexin.c:1058:10: [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 n = strlen( p ) - 1; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:797: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). len = (value) ? strlen( value ) : 0; data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.c:817:10: [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( tag ); data/haskell-hs-bibutils-6.10.0.0/bibutils/bibtexout.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( value ); data/haskell-hs-bibutils-6.10.0.0/bibutils/entities.c:293: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( e ); data/haskell-hs-bibutils-6.10.0.0/bibutils/nbibin.c:176: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). else if ( inref && strlen( p ) >= 6 ) { data/haskell-hs-bibutils-6.10.0.0/bibutils/nbibin.c:400:8: [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( outtag ) > 0 ) { data/haskell-hs-bibutils-6.10.0.0/bibutils/reftypes.c:25: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). if ( !strncasecmp( all[i].type, p, strlen(all[i].type) ) ) data/haskell-hs-bibutils-6.10.0.0/bibutils/risout.c:561: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( scheme[i] ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:358:14: [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). lenaddstr = strlen( addstr ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:369:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s->data, addstr, lenaddstr ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:389:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( &(s->data[s->len]), addstr, n ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:407:6: [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). n = strlen( from ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:498:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s->data, p, n ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:518:6: [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). n = strlen( from ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:643: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). find_len = strlen( find ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:644: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). rep_len = strlen( replace ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:650:14: [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). curr_len = strlen(s->data); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:1036:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = fgetc( fp ); data/haskell-hs-bibutils-6.10.0.0/bibutils/str.c:1043:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = fgetc( fp ); data/haskell-hs-bibutils-6.10.0.0/bibutils/url.c:102:11: [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). patlen = strlen( pattern ); data/haskell-hs-bibutils-6.10.0.0/bibutils/url.c:103: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( s ) < patlen ) return 0; /* too short */ data/haskell-hs-bibutils-6.10.0.0/bibutils/wordout.c:302: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). if ( mainttl[ strlen( mainttl ) - 1 ] != '?' ) data/haskell-hs-bibutils-6.10.0.0/bibutils/xml.c:324: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). if ( node->tag.len!=strlen( tag ) ) return 0; ANALYSIS SUMMARY: Hits = 130 Lines analyzed = 110361 in approximately 4.22 seconds (26152 lines/second) Physical Source Lines of Code (SLOC) = 103872 Hits@level = [0] 345 [1] 31 [2] 90 [3] 0 [4] 9 [5] 0 Hits@level+ = [0+] 475 [1+] 130 [2+] 99 [3+] 9 [4+] 9 [5+] 0 Hits/KSLOC@level+ = [0+] 4.57294 [1+] 1.25154 [2+] 0.953096 [3+] 0.0866451 [4+] 0.0866451 [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.