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/sciplot-1.36/SciPlot.h Examining data/sciplot-1.36/SciPlotP.h Examining data/sciplot-1.36/SciPlotUtil.h Examining data/sciplot-1.36/realtime.c Examining data/sciplot-1.36/xyplot.c Examining data/sciplot-1.36/SciPlotUtil.c Examining data/sciplot-1.36/SciPlot.c FINAL RESULTS: data/sciplot-1.36/SciPlot.c:222:3: [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(new->plot.xlabel, new->plot.TransientXLabel); data/sciplot-1.36/SciPlot.c:224:3: [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(new->plot.ylabel, new->plot.TransientYLabel); data/sciplot-1.36/SciPlot.c:226:3: [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(new->plot.plotTitle, new->plot.TransientPlotTitle); data/sciplot-1.36/SciPlot.c:368:7: [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(new->plot.xlabel, new->plot.TransientXLabel); data/sciplot-1.36/SciPlot.c:378:7: [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(new->plot.ylabel, new->plot.TransientYLabel); data/sciplot-1.36/SciPlot.c:388:7: [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(new->plot.plotTitle, new->plot.TransientPlotTitle); data/sciplot-1.36/SciPlot.c:570: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(temp, pfd->PostScript); data/sciplot-1.36/SciPlot.c:590:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "/%s findfont %d scalefont", data/sciplot-1.36/SciPlot.c:605:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(str, "-*-%s-%s-%s-*-*-%d-*-*-*-*-*-*-*", data/sciplot-1.36/SciPlot.c:869:3: [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(p->legend, legend); data/sciplot-1.36/SciPlot.c:1915:3: [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(item->kind.text.text, text); data/sciplot-1.36/SciPlot.c:1951:3: [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(item->kind.text.text, text); data/sciplot-1.36/SciPlot.c:2496:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:2529:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:2677:3: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:3012:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:3074:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:3095:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:3170:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, val); data/sciplot-1.36/SciPlot.c:3324:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(label, numberformat, tic); data/sciplot-1.36/SciPlotUtil.c:212:3: [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(tmpval, str); data/sciplot-1.36/SciPlotUtil.c:635:3: [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(txt,ptr); data/sciplot-1.36/SciPlotUtil.c:639:3: [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). strcat(txt,ptr); data/sciplot-1.36/SciPlotUtil.c:643:3: [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). strcat(txt,ptr); data/sciplot-1.36/SciPlotUtil.c:680:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(text, "Plot #%d: %s ", DialogCount, title); data/sciplot-1.36/realtime.c:79:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand((unsigned int) getpid()); /* Initialize it with a fairly random seed */ data/sciplot-1.36/SciPlot.c:418:10: [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. loc=(char **)args[i].value; data/sciplot-1.36/SciPlot.c:563: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 temp[128]; data/sciplot-1.36/SciPlot.c:575:7: [2] (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). Risk is low because the source is a constant string. strcat(temp, "-Bold"); data/sciplot-1.36/SciPlot.c:582:2: [2] (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). Risk is low because the source is a constant string. strcat(temp, "Oblique"); data/sciplot-1.36/SciPlot.c:584:2: [2] (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). Risk is low because the source is a constant string. strcat(temp, "Italic"); data/sciplot-1.36/SciPlot.c:587:7: [2] (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). Risk is low because the source is a constant string. strcat(temp, "-Roman"); data/sciplot-1.36/SciPlot.c:595: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(str, "/Courier findfond 10 scalefont"); data/sciplot-1.36/SciPlot.c:612: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(str, "fixed"); data/sciplot-1.36/SciPlot.c:621: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 str[256], **list; data/sciplot-1.36/SciPlot.c:689: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(str, "fixed"); data/sciplot-1.36/SciPlot.c:1513: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 fontname[128]; data/sciplot-1.36/SciPlot.c:1515:14: [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 (!(fd = fopen(filename, "w"))) { data/sciplot-1.36/SciPlot.c:1577: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/sciplot-1.36/SciPlot.c:2476: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 numberformat[16], label[16]; data/sciplot-1.36/SciPlot.c:2495: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(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:2528: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(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:2668: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 numberformat[16], label[16]; data/sciplot-1.36/SciPlot.c:2676:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(numberformat, "%%.%df", w->plot.x.Precision); data/sciplot-1.36/SciPlot.c:2987: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 numberformat[16], label[16]; data/sciplot-1.36/SciPlot.c:2999:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:3040: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(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:3082:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:3136: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(numberformat, "%%.%df", precision); data/sciplot-1.36/SciPlot.c:3289: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 numberformat[16], label[16]; data/sciplot-1.36/SciPlot.c:3292:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(numberformat, "%%.%df", w->plot.x.Precision); data/sciplot-1.36/SciPlotUtil.c:105: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 field[MAXFIELD][STRING_MAX+1]; data/sciplot-1.36/SciPlotUtil.c:210: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 tmpval[1024]; data/sciplot-1.36/SciPlotUtil.c:315:10: [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 cmdline[1024]; data/sciplot-1.36/SciPlotUtil.c:531: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[256],*txt1,*txt2,*txt3; data/sciplot-1.36/SciPlotUtil.c:534: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(label,"Title #%d",++count); data/sciplot-1.36/SciPlotUtil.c:575: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[256]; data/sciplot-1.36/SciPlotUtil.c:578: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(label,"X Label #%d",++count); data/sciplot-1.36/SciPlotUtil.c:614: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[256]; data/sciplot-1.36/SciPlotUtil.c:617: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(label,"Y Label #%d",++count); data/sciplot-1.36/SciPlotUtil.c:632: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 txt[1024],*ptr; data/sciplot-1.36/SciPlotUtil.c:640:3: [2] (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). Risk is low because the source is a constant string. strcat(txt,"\n\n"); data/sciplot-1.36/SciPlotUtil.c:671: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 buf[256]; data/sciplot-1.36/SciPlotUtil.c:774:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(text, "plot%d.ps", DialogCount); data/sciplot-1.36/xyplot.c:40:12: [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). fd = fopen(argv[argloc++], "r"); data/sciplot-1.36/SciPlot.c:221:40: [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). new->plot.xlabel = (char *) XtMalloc(strlen(new->plot.TransientXLabel) + 1); data/sciplot-1.36/SciPlot.c:223:40: [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). new->plot.ylabel = (char *) XtMalloc(strlen(new->plot.TransientYLabel) + 1); data/sciplot-1.36/SciPlot.c:225: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). new->plot.plotTitle = (char *) XtMalloc(strlen(new->plot.TransientPlotTitle) + 1); data/sciplot-1.36/SciPlot.c:367: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). new->plot.xlabel = (char *) XtMalloc(strlen(new->plot.TransientXLabel) + 1); data/sciplot-1.36/SciPlot.c:377: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). new->plot.ylabel = (char *) XtMalloc(strlen(new->plot.TransientYLabel) + 1); data/sciplot-1.36/SciPlot.c:387: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). new->plot.plotTitle = (char *) XtMalloc(strlen(new->plot.TransientPlotTitle) + 1); data/sciplot-1.36/SciPlot.c:580:2: [1] (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). Risk is low because the source is a constant character. strcat(temp, "-"); data/sciplot-1.36/SciPlot.c:754:34: [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). return (real) XTextWidth(f, c, strlen(c)); data/sciplot-1.36/SciPlot.c:868:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p->legend = (char *) XtMalloc(strlen(legend) + 1); data/sciplot-1.36/SciPlot.c:1016: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). str, strlen(str)); data/sciplot-1.36/SciPlot.c:1583:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(titles); data/sciplot-1.36/SciPlot.c:1912: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). item->kind.text.length = strlen(text); data/sciplot-1.36/SciPlot.c:1948: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). item->kind.text.length = strlen(text); data/sciplot-1.36/SciPlotUtil.c:117: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). for (i = strlen(str); i > 0; i--) { data/sciplot-1.36/SciPlotUtil.c:137: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). len = strlen(str); data/sciplot-1.36/SciPlotUtil.c:142: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). plen = strlen(primary); data/sciplot-1.36/SciPlotUtil.c:143: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). qlen = strlen(quotes); data/sciplot-1.36/SciPlotUtil.c:214: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). end = tmpval + strlen(tmpval); data/sciplot-1.36/SciPlotUtil.c:219:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(field[count], ptr, STRING_MAX - 1); data/sciplot-1.36/SciPlotUtil.c:290:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, buf, 1) == 1) { data/sciplot-1.36/SciPlotUtil.c:636:3: [1] (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). Risk is low because the source is a constant character. strcat(txt,"\n"); data/sciplot-1.36/SciPlotUtil.c:644:3: [1] (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). Risk is low because the source is a constant character. strcat(txt,"\n"); data/sciplot-1.36/SciPlotUtil.c:648:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(filename) > 0) data/sciplot-1.36/SciPlotUtil.c:654:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(filename) > 0) data/sciplot-1.36/SciPlotUtil.c:679:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). text = malloc(strlen(title) + 256); ANALYSIS SUMMARY: Hits = 90 Lines analyzed = 5517 in approximately 0.15 seconds (37193 lines/second) Physical Source Lines of Code (SLOC) = 4582 Hits@level = [0] 78 [1] 25 [2] 39 [3] 1 [4] 25 [5] 0 Hits@level+ = [0+] 168 [1+] 90 [2+] 65 [3+] 26 [4+] 25 [5+] 0 Hits/KSLOC@level+ = [0+] 36.6652 [1+] 19.6421 [2+] 14.1859 [3+] 5.67438 [4+] 5.45613 [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.