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/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Apache2/APR__Request__Apache2.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/APR__Request.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Cookie/APR__Request__Cookie.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Error/APR__Request__Error.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Param/APR__Request__Param.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_postperl.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_preperl.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_tables.h Examining data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h Examining data/libapreq2-2.13/include/apreq.h Examining data/libapreq2-2.13/include/apreq_cookie.h Examining data/libapreq2-2.13/include/apreq_error.h Examining data/libapreq2-2.13/include/apreq_module.h Examining data/libapreq2-2.13/include/apreq_param.h Examining data/libapreq2-2.13/include/apreq_parser.h Examining data/libapreq2-2.13/include/apreq_util.h Examining data/libapreq2-2.13/include/apreq_version.h Examining data/libapreq2-2.13/library/cookie.c Examining data/libapreq2-2.13/library/error.c Examining data/libapreq2-2.13/library/module.c Examining data/libapreq2-2.13/library/module_cgi.c Examining data/libapreq2-2.13/library/module_custom.c Examining data/libapreq2-2.13/library/param.c Examining data/libapreq2-2.13/library/parser.c Examining data/libapreq2-2.13/library/parser_header.c Examining data/libapreq2-2.13/library/parser_urlencoded.c Examining data/libapreq2-2.13/library/t/at.c Examining data/libapreq2-2.13/library/t/at.h Examining data/libapreq2-2.13/library/t/cookie.c Examining data/libapreq2-2.13/library/t/error.c Examining data/libapreq2-2.13/library/t/params.c Examining data/libapreq2-2.13/library/t/parsers.c Examining data/libapreq2-2.13/library/t/util.c Examining data/libapreq2-2.13/library/t/version.c Examining data/libapreq2-2.13/library/util.c Examining data/libapreq2-2.13/library/version.c Examining data/libapreq2-2.13/library/parser_multipart.c Examining data/libapreq2-2.13/module/apache2/apreq_module_apache2.h Examining data/libapreq2-2.13/module/apache2/apreq_private_apache2.h Examining data/libapreq2-2.13/module/apache2/filter.c Examining data/libapreq2-2.13/module/apache2/handle.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_access_test/mod_apreq_access_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_big_request_test/mod_apreq_big_request_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_cookie_test/mod_apreq_cookie_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_output_filter_test/mod_apreq_output_filter_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_redirect_test/mod_apreq_redirect_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_request_test/mod_apreq_request_test.c Examining data/libapreq2-2.13/module/t/c-modules/apreq_upload_test/mod_apreq_upload_test.c Examining data/libapreq2-2.13/module/test_cgi.c FINAL RESULTS: data/libapreq2-2.13/library/cookie.c:510: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(f, c->max_age != -1 ? "; max-age=%" APR_TIME_T_FMT : ""); data/libapreq2-2.13/library/module_cgi.c:166:21: [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(start, type); data/libapreq2-2.13/library/module_cgi.c:176:17: [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(start, name); data/libapreq2-2.13/library/module_cgi.c:182:21: [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(start, label); data/libapreq2-2.13/library/module_cgi.c:193:21: [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(start, defval); data/libapreq2-2.13/library/module_cgi.c:225:21: [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(start, buf[plevel + 1]); data/libapreq2-2.13/glue/perl/xsbuilder/APR/Request/Param/APR__Request__Param.h:146: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(buf, data, dlen); data/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_postperl.h:171: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 buf[256]; data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3260:42: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. # define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:4812: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. && (xdigit = strchr((char *) PL_hexdigit, s[1]))) data/libapreq2-2.13/include/apreq.h:239: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 data[1]; /**< value data */ data/libapreq2-2.13/library/cookie.c:151: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(v->data, value, vlen); data/libapreq2-2.13/library/cookie.c:156: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(v->name, name, nlen); data/libapreq2-2.13/library/cookie.c:439: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 format[128] = "%s=%s"; data/libapreq2-2.13/library/cookie.c:451:9: [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 expires[APR_RFC822_DATE_LEN] = {0}; data/libapreq2-2.13/library/cookie.c:455:9: [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(f, "; " #name "=%s"); \ data/libapreq2-2.13/library/cookie.c:457:9: [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(f, "%0.s"); \ data/libapreq2-2.13/library/cookie.c:465:13: [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(f, "; expires=%s"); data/libapreq2-2.13/library/cookie.c:476:13: [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(f, "; secure"); data/libapreq2-2.13/library/cookie.c:481:13: [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(f, "; HttpOnly"); data/libapreq2-2.13/library/cookie.c:489: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(f,"; Version=%u"); data/libapreq2-2.13/library/cookie.c:496:13: [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(f, "; " #name "=%s"); \ data/libapreq2-2.13/library/cookie.c:498:13: [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(f, "; " #name "=\"%s\""); \ data/libapreq2-2.13/library/cookie.c:500:9: [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(f, "%0.s"); \ data/libapreq2-2.13/library/cookie.c:515:9: [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(f, "; secure"); data/libapreq2-2.13/library/cookie.c:520:9: [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(f, "; HttpOnly"); data/libapreq2-2.13/library/module_cgi.c:149: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 buf[MAX_PROMPT_NESTING_LEVELS][MAX_BUFFER_SIZE]; data/libapreq2-2.13/library/module_cgi.c:151: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 *start, curarg[MAX_PROMPT_NESTING_LEVELS] = ""; data/libapreq2-2.13/library/module_cgi.c:290: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 buf[256]; data/libapreq2-2.13/library/module_cgi.c:294: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 date[APR_CTIME_LEN]; data/libapreq2-2.13/library/module_cgi.c:501:9: [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[65536]; data/libapreq2-2.13/library/module_cgi.c:546:9: [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[65536]; data/libapreq2-2.13/library/module_cgi.c:665:13: [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[65536]; data/libapreq2-2.13/library/param.c:50: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(v->data, val, vlen); data/libapreq2-2.13/library/param.c:56: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(v->name, name, nlen); data/libapreq2-2.13/library/parser_header.c:120: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(dest, data, dlen); data/libapreq2-2.13/library/parser_header.c:140: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(dest, iov->iov_base, iov->iov_len); data/libapreq2-2.13/library/t/at.c: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 buf[32]; data/libapreq2-2.13/library/t/at.c:52: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 buf[256], *b = buf + 2; data/libapreq2-2.13/library/t/at.c:101: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 buf[256]; data/libapreq2-2.13/library/t/at.c:210: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 label[32]; data/libapreq2-2.13/library/t/at.c:224: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 buf[256]; data/libapreq2-2.13/library/t/at.h:152:9: [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 format[32] = "testing: %s (%s:%d)"; data/libapreq2-2.13/library/t/at.h:159:13: [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(format, " left:", 8); data/libapreq2-2.13/library/t/at.h:174: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 buf[256] = #a " != " #b; \ data/libapreq2-2.13/library/t/at.h:186: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 buf[256] = #a " == " #b; \ data/libapreq2-2.13/library/t/at.h:250: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 buf[256]; data/libapreq2-2.13/library/t/cookie.c:131: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 expires[APR_RFC822_DATE_LEN]; data/libapreq2-2.13/library/t/error.c:25: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 buf[256], *str; data/libapreq2-2.13/library/t/params.c:80: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(s1, "bend it like beckham"); data/libapreq2-2.13/library/t/params.c:81: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(s2, "dandy %3Edons"); data/libapreq2-2.13/library/t/params.c:147: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(name, "foo"); data/libapreq2-2.13/library/t/params.c:148: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(val, "bar > alpha"); data/libapreq2-2.13/library/t/util.c:78:14: [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 expect[6]; data/libapreq2-2.13/library/t/util.c:96: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 expect[7]; data/libapreq2-2.13/library/t/util.c:131: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 dest[sizeof(src1) + sizeof(src2) + sizeof(src3)]; data/libapreq2-2.13/library/t/util.c:155: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 src2[5]; data/libapreq2-2.13/library/t/util.c:156:14: [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 expect[16]; data/libapreq2-2.13/library/t/util.c:192: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 dst[64]; data/libapreq2-2.13/library/t/util.c:214: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 dst[64]; data/libapreq2-2.13/library/util.c:127: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 xstr[5]; data/libapreq2-2.13/library/util.c:337: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 xstr[7]; data/libapreq2-2.13/library/util.c:481:13: [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(d + slen, v[n].iov_base, v[n].iov_len); data/libapreq2-2.13/library/util.c:552: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(dest, src, slen); data/libapreq2-2.13/library/util.c:644:17: [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(d, sep, slen); data/libapreq2-2.13/library/util.c:657:13: [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(d, sep, slen); data/libapreq2-2.13/library/util.c:672:13: [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(d, sep, slen); data/libapreq2-2.13/library/util.c:680: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(d,a[0]->data, a[0]->dlen); data/libapreq2-2.13/library/util.c:684:13: [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(d, sep, slen); data/libapreq2-2.13/library/util.c:686:13: [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(d, a[j]->data, a[j]->dlen); data/libapreq2-2.13/library/util.c:755: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. v[n].iov_base = (char *)(v[n].iov_base) + len; data/libapreq2-2.13/glue/perl/xsbuilder/apreq_xs_postperl.h:177:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_setpvn(sv, buf, strlen(buf)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3775:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3784:59: [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). # define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3789:59: [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). # define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3810:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3839:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3860:27: [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). sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3883:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3912:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:3933:27: [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). sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ data/libapreq2-2.13/glue/perl/xsbuilder/ppport.h:4404: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). STRLEN len = strlen(radix); data/libapreq2-2.13/include/apreq_util.h:227:52: [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). apr_status_t rv = apreq_decode(str, &len, str, strlen(str)); data/libapreq2-2.13/library/cookie.c:440:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *f = format + strlen(format); data/libapreq2-2.13/library/cookie.c:458: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). f += strlen(f); \ data/libapreq2-2.13/library/cookie.c:471:13: [1] (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 character. strcpy(f, ""); data/libapreq2-2.13/library/cookie.c:473: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). f += strlen(f); data/libapreq2-2.13/library/cookie.c:478: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). f += strlen(f); data/libapreq2-2.13/library/cookie.c:490: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). f += strlen(f); data/libapreq2-2.13/library/cookie.c:501: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). f += strlen (f); \ data/libapreq2-2.13/library/cookie.c:512: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). f += strlen(f); data/libapreq2-2.13/library/cookie.c:517: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). f += strlen(f); data/libapreq2-2.13/library/module_cgi.c:103:20: [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). apr_size_t p = strlen(str); data/libapreq2-2.13/library/module_cgi.c:167:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). start += strlen(type); data/libapreq2-2.13/library/module_cgi.c:177: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). start += strlen(name); data/libapreq2-2.13/library/module_cgi.c:183:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). start += strlen(label); data/libapreq2-2.13/library/module_cgi.c:194:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). start += strlen(defval); data/libapreq2-2.13/library/module_cgi.c:221:39: [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). start = buf[plevel] + strlen(buf[plevel]); data/libapreq2-2.13/library/module_cgi.c:226:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). start += strlen(buf[plevel + 1]); data/libapreq2-2.13/library/module_cgi.c:518:55: [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). p = apreq_cookie_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:518:74: [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). p = apreq_cookie_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:563:54: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:563:73: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:609:55: [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). p = apreq_cookie_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:609:74: [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). p = apreq_cookie_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:641:54: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:641:73: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:677:54: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:677:73: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:719:54: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/module_cgi.c:719:73: [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). p = apreq_param_make(handle->pool, name, strlen(name), val, strlen(val)); data/libapreq2-2.13/library/parser.c:229:50: [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). "_dummy_", strlen("_dummy_"), "", 0); data/libapreq2-2.13/library/parser_multipart.c:75:23: [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). apr_size_t slen = strlen(start_string); data/libapreq2-2.13/library/parser_multipart.c:118:23: [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). apr_size_t blen = strlen(bdry), off = 0; data/libapreq2-2.13/library/parser_multipart.c:489:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). nlen = strlen(name); data/libapreq2-2.13/library/parser_multipart.c:508:28: [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). nlen = strlen(name); data/libapreq2-2.13/library/parser_multipart.c:554:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(ctx->param_name), data/libapreq2-2.13/library/t/at.c:169: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). apr_size_t len = strlen(msg); data/libapreq2-2.13/library/t/at.h:160: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). f = format + strlen(format); data/libapreq2-2.13/library/t/at.h:161: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). apr_snprintf(f, sizeof format - strlen(format), "\n right: %s", fmt); data/libapreq2-2.13/library/t/parsers.c:155: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). apr_bucket_immortal_create(url_data,strlen(url_data), data/libapreq2-2.13/library/t/parsers.c:182: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 (j = 0; j <= strlen(form_data); ++j) { data/libapreq2-2.13/library/t/parsers.c:194: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(form_data); ++i) { data/libapreq2-2.13/library/t/parsers.c:213: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). strlen(form_data), data/libapreq2-2.13/library/t/parsers.c:228:32: [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). AT_int_eq(rv, (j < strlen(form_data)) ? APR_INCOMPLETE : APR_SUCCESS); data/libapreq2-2.13/library/t/parsers.c:244:28: [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). AT_int_eq(len, strlen("... contents of file1.txt ..." CRLF)); data/libapreq2-2.13/library/t/parsers.c:282: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). e = apr_bucket_immortal_create(form_data, strlen(form_data), ba); data/libapreq2-2.13/library/t/parsers.c:322: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). strlen(xml_data), data/libapreq2-2.13/library/t/parsers.c:339: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). AT_int_eq(vlen, strlen(xml_data)); data/libapreq2-2.13/library/t/parsers.c:353: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). strlen(xml_data), data/libapreq2-2.13/library/t/parsers.c:380: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). int dlen = strlen(data); data/libapreq2-2.13/library/t/parsers.c:394:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(rel_data), data/libapreq2-2.13/library/t/parsers.c:468:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(mix_data), data/libapreq2-2.13/library/t/parsers.c:494: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). AT_int_eq(vlen, strlen("... contents of file1.txt ...")); data/libapreq2-2.13/library/t/parsers.c:507: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). AT_int_eq(vlen, strlen("...contents of file2.gif...")); data/libapreq2-2.13/library/util.c:609: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). slen = sep ? strlen(sep) : 0; data/libapreq2-2.13/library/util.c:954:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return apr_bucket_type_file.read(e, str, len, block); data/libapreq2-2.13/module/t/c-modules/apreq_big_request_test/mod_apreq_big_request_test.c:37: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). *c = *c + strlen(key) + strlen(value); data/libapreq2-2.13/module/t/c-modules/apreq_big_request_test/mod_apreq_big_request_test.c:37: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). *c = *c + strlen(key) + strlen(value); data/libapreq2-2.13/module/t/c-modules/apreq_cookie_test/mod_apreq_cookie_test.c:89: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). size = strlen(cookie->v.data); data/libapreq2-2.13/module/test_cgi.c:30: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). *c += strlen(key) + value_len; ANALYSIS SUMMARY: Hits = 141 Lines analyzed = 17996 in approximately 0.83 seconds (21813 lines/second) Physical Source Lines of Code (SLOC) = 10261 Hits@level = [0] 4 [1] 70 [2] 65 [3] 0 [4] 6 [5] 0 Hits@level+ = [0+] 145 [1+] 141 [2+] 71 [3+] 6 [4+] 6 [5+] 0 Hits/KSLOC@level+ = [0+] 14.1312 [1+] 13.7414 [2+] 6.9194 [3+] 0.584738 [4+] 0.584738 [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.