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.