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/psutils-1.17.dfsg/config.h Examining data/psutils-1.17.dfsg/patchlev.h Examining data/psutils-1.17.dfsg/pserror.h Examining data/psutils-1.17.dfsg/pserror.c Examining data/psutils-1.17.dfsg/epsffit.c Examining data/psutils-1.17.dfsg/psbook.c Examining data/psutils-1.17.dfsg/psselect.c Examining data/psutils-1.17.dfsg/psutil.c Examining data/psutils-1.17.dfsg/psutil.h Examining data/psutils-1.17.dfsg/psnup.c Examining data/psutils-1.17.dfsg/psresize.c Examining data/psutils-1.17.dfsg/pstops.c Examining data/psutils-1.17.dfsg/psspec.h Examining data/psutils-1.17.dfsg/psspec.c FINAL RESULTS: data/psutils-1.17.dfsg/pserror.c:37: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(bufptr, program) ; data/psutils-1.17.dfsg/pserror.c:64:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(bufptr, fmtbuf, d) ; data/psutils-1.17.dfsg/pserror.c:72:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(bufptr, fmtbuf, l) ; data/psutils-1.17.dfsg/pserror.c:75:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(bufptr, fmtbuf, i) ; data/psutils-1.17.dfsg/pserror.c:82:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(bufptr, fmtbuf, s) ; data/psutils-1.17.dfsg/psnup.c:202:10: [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(&(valuestr[1]), optarg); data/psutils-1.17.dfsg/pstops.c:206:22: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). if (optarg) strcat(spec_txt, optarg); data/psutils-1.17.dfsg/psutil.c:305:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buffer, "%%%%Page: %s %d\n", label, ++outputpage); data/psutils-1.17.dfsg/epsffit.c:58:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while((opt = getopt(argc, argv, "csramv")) != EOF) { data/psutils-1.17.dfsg/psbook.c:47:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while((opt = getopt(argc, argv, "vqs:")) != EOF) { data/psutils-1.17.dfsg/psnup.c:121:11: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. getopt(argc, argv, data/psutils-1.17.dfsg/psresize.c:96:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while((opt = getopt(argc, argv, data/psutils-1.17.dfsg/psselect.c:110:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while((opt = getopt(argc, argv, "eorqvp:")) != EOF) { data/psutils-1.17.dfsg/pstops.c:161:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while((opt = getopt(argc, argv, "qd::bw:h:p:v0123456789")) != EOF) { data/psutils-1.17.dfsg/epsffit.c:51:4: [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[BUFSIZ]; data/psutils-1.17.dfsg/epsffit.c:74: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). fllx = atoi(argv[optind++]); data/psutils-1.17.dfsg/epsffit.c:75: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). flly = atoi(argv[optind++]); data/psutils-1.17.dfsg/epsffit.c:76: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). furx = atoi(argv[optind++]); data/psutils-1.17.dfsg/epsffit.c:77: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). fury = atoi(argv[optind++]); data/psutils-1.17.dfsg/epsffit.c:83:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(!(input = fopen(argv[optind], OPEN_READ))) data/psutils-1.17.dfsg/epsffit.c:97:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(!(output = fopen(argv[optind], OPEN_WRITE))) data/psutils-1.17.dfsg/psbook.c:22:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pagelabel[BUFSIZ] ; data/psutils-1.17.dfsg/psbook.c:50:20: [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). signature = atoi(optarg); data/psutils-1.17.dfsg/psbook.c:71:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infile = fopen(argv[optind], OPEN_READ)) == NULL) data/psutils-1.17.dfsg/psbook.c:78:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((outfile = fopen(argv[optind], OPEN_WRITE)) == NULL) data/psutils-1.17.dfsg/pserror.c:28:3: [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 msgbuf[MAX_MESSAGE] ; /* buffer in which to put the message */ data/psutils-1.17.dfsg/pserror.c:49: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 fmtbuf[MAX_FORMAT] ; data/psutils-1.17.dfsg/psnup.c:43:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pagelabel[BUFSIZ] ; data/psutils-1.17.dfsg/psnup.c:187:19: [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 ((nup = atoi(optarg)) < 1) data/psutils-1.17.dfsg/psnup.c:205:21: [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 ((nup = atoi(valuestr)) < 1) data/psutils-1.17.dfsg/psnup.c:226:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infile = fopen(argv[optind], OPEN_READ)) == NULL) data/psutils-1.17.dfsg/psnup.c:233:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((outfile = fopen(argv[optind], OPEN_WRITE)) == NULL) data/psutils-1.17.dfsg/psresize.c:34:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pagelabel[BUFSIZ] ; data/psutils-1.17.dfsg/psresize.c:143:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infile = fopen(argv[optind], OPEN_READ)) == NULL) data/psutils-1.17.dfsg/psresize.c:150:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((outfile = fopen(argv[optind], OPEN_WRITE)) == NULL) data/psutils-1.17.dfsg/psselect.c:21:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pagelabel[BUFSIZ] ; data/psutils-1.17.dfsg/psselect.c:61:20: [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). first = sign*atoi(str); data/psutils-1.17.dfsg/psselect.c:80:19: [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). int last = sign*atoi(str); data/psutils-1.17.dfsg/psselect.c:148:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infile = fopen(argv[optind], OPEN_READ)) == NULL) data/psutils-1.17.dfsg/psselect.c:155:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((outfile = fopen(argv[optind], OPEN_WRITE)) == NULL) data/psutils-1.17.dfsg/psspec.c:37:14: [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). int num = atoi(s); data/psutils-1.17.dfsg/psspec.c:199:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(eob, "%d", maxpage-thispg-modulo+np->pageno); data/psutils-1.17.dfsg/psspec.c:201:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(eob, "%d", thispg+np->pageno); data/psutils-1.17.dfsg/psspec.c:210:6: [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 buffer[BUFSIZ]; data/psutils-1.17.dfsg/psspec.c:213:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "%f %f translate\n", ps->xoff, ps->yoff); data/psutils-1.17.dfsg/psspec.c:217:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "%d rotate\n", ps->rotate); data/psutils-1.17.dfsg/psspec.c:221:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "[ -1 0 0 1 %f 0 ] concat\n", width*ps->scale); data/psutils-1.17.dfsg/psspec.c:225:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "[ 1 0 0 -1 0 %f ] concat\n", height*ps->scale); data/psutils-1.17.dfsg/psspec.c:229:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "%f dup scale\n", ps->scale); data/psutils-1.17.dfsg/psspec.c:234: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 buffer[BUFSIZ]; data/psutils-1.17.dfsg/psspec.c:236:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, " %f 0 rlineto 0 %f rlineto -%f 0 rlineto\n", data/psutils-1.17.dfsg/psspec.c:241:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "gsave clippath 0 setgray %f setlinewidth stroke grestore\n", draw); data/psutils-1.17.dfsg/pstops.c:28:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pagelabel[BUFSIZ] ; data/psutils-1.17.dfsg/pstops.c:232:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infile = fopen(argv[optind], OPEN_READ)) == NULL) data/psutils-1.17.dfsg/pstops.c:239:21: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((outfile = fopen(argv[optind], OPEN_WRITE)) == NULL) data/psutils-1.17.dfsg/psutil.c:38:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char pagelabel[BUFSIZ]; data/psutils-1.17.dfsg/psutil.c:41: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. static char buffer[BUFSIZ]; data/psutils-1.17.dfsg/psutil.c:100:3: [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 buffer[BUFSIZ] ; data/psutils-1.17.dfsg/psutil.c:120:13: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). if ((ft = tmpfile()) == NULL) data/psutils-1.17.dfsg/psutil.c:287:16: [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). pageno = atoi(end); data/psutils-1.17.dfsg/psutil.c:312:4: [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 buffer[BUFSIZ]; data/psutils-1.17.dfsg/psutil.c:354:10: [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(buffer, "%%%%DocumentMedia: plain %d %d 0 () ()\n", (int) width, (int) height); data/psutils-1.17.dfsg/psutil.c:356:10: [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(buffer, "%%%%BoundingBox: 0 0 %d %d\n", (int) width, (int) height); data/psutils-1.17.dfsg/psutil.c:359:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buffer, "%%%%Pages: %d 0\n", p); data/psutils-1.17.dfsg/psutil.c:407:4: [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(buffer, "%%%%Page: * %d\n", ++outputpage); data/psutils-1.17.dfsg/psutil.h:52:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern char pagelabel[BUFSIZ]; data/psutils-1.17.dfsg/epsffit.c:124:6: [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(buf, "\n"); /* don't repeat %%EndComments */ data/psutils-1.17.dfsg/pserror.c:38: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). bufptr += strlen(program) ; data/psutils-1.17.dfsg/pserror.c:65: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). bufptr += strlen(bufptr) ; data/psutils-1.17.dfsg/pserror.c:77: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). bufptr += strlen(bufptr) ; data/psutils-1.17.dfsg/pserror.c:83: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). bufptr += strlen(bufptr) ; data/psutils-1.17.dfsg/psnup.c:200:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *valuestr = (char *) malloc(strlen(optarg) + 2); data/psutils-1.17.dfsg/psspec.c:202: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). eob = eob + strlen(eob); data/psutils-1.17.dfsg/psspec.c:205:6: [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(eob, ")"); data/psutils-1.17.dfsg/pstops.c:201: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). char *spec_txt = alloca((optarg ? strlen(optarg) : 0) + 3); data/psutils-1.17.dfsg/psutil.c:31:37: [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 iscomment(x,y) (strncmp(x,y,strlen(y)) == 0) data/psutils-1.17.dfsg/psutil.c:285:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pagelabel, start, end-start); data/psutils-1.17.dfsg/psutil.c:297: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). bytes += strlen(s); data/psutils-1.17.dfsg/psutil.c:321:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bytes += strlen(buffer); ANALYSIS SUMMARY: Hits = 79 Lines analyzed = 2414 in approximately 0.10 seconds (24104 lines/second) Physical Source Lines of Code (SLOC) = 1957 Hits@level = [0] 29 [1] 13 [2] 52 [3] 6 [4] 8 [5] 0 Hits@level+ = [0+] 108 [1+] 79 [2+] 66 [3+] 14 [4+] 8 [5+] 0 Hits/KSLOC@level+ = [0+] 55.1865 [1+] 40.3679 [2+] 33.7251 [3+] 7.15381 [4+] 4.08789 [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.