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/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_gridmapping.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_gl2ps.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_gridplot.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_color.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_scale.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_parametricsurface.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_label.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_axis.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_mousekeyboard.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_enrichment_std.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_lighting.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_movements.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_types.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_drawable.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_plot.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_coordsys.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_autoscaler.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_meshplot.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_colorlegend.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_surfaceplot.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_dataviews.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_function.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_graphplot.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_scale.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_global.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_autoscaler.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_volumeplot.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_colorlegend.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_plot.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_enrichment.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_io_gl2ps.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_portability.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_mapping.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_drawable.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_function.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_helper.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_color.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_enrichment_std.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_coordsys.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_io_reader.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_surfaceplot.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_multiplot.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_gridmapping.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_autoptr.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_types.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_io.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_label.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_parametricsurface.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_axis.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/include/qwt3d_openglhelper.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/axes/src/axesmainwindow.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/axes/src/axes.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/axes/src/main.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/axes/src/axesmainwindow.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/autoswitch/autoswitch.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/autoswitch/autoswitch.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/enrichments/src/enrichmentmainwindow.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/enrichments/src/enrichments.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/enrichments/src/enrichments.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/enrichments/src/main.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/enrichments/src/enrichmentmainwindow.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/simpleplot/simpleplot.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/colormapreader.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/designerworkaround.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/femreader.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/lightingdlgbaseimpl.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/lightingdlg.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/main.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/lightingdlgbaseimpl.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/designerworkaround.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/colormapreader.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/functions.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/lightingdlg.h Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh2mainwindow.cpp Examining data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh2mainwindow.h FINAL RESULTS: data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:308:5: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, args); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:448:11: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. ret = vsprintf(buf, fmt, args); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:458:11: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. ret = vfprintf(gl2ps->stream, fmt, args); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:894: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(prim->data.text->str, str); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:896: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(prim->data.text->fontname, fontname); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:911: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(text->str, t->str); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:913: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(text->fontname, t->fontname); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3218:16: [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). if(i <= 0) strcpy(name, gl2ps->filename); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5671: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(gl2ps->title, title); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5680: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(gl2ps->producer, producer); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5689: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(gl2ps->filename, filename); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:445: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 buf[1000]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:452:5: [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(gl2ps->compress->start+oldsize, buf, ret); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:469: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 tmp[10] = {'\x1f', '\x8b', /* magic numbers: 0x1f, 0x8b */ data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:489: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 tmp[8]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:583:3: [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(&list->array[(list->n - 1) * list->size], data, list->size); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:638:3: [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(data, &list->array[index * list->size], list->size); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:641:45: [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 void gl2psEncodeBase64Block(unsigned char in[3], unsigned char out[4], int len) data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:641:66: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static void gl2psEncodeBase64Block(unsigned char in[3], unsigned char out[4], int len) data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:654:12: [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 *buffer, in[3], out[4]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:659:3: [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(buffer, list->array, n * sizeof(unsigned char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:783:3: [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(image->pixels, im->pixels, size); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:1041:3: [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(prim->verts, p->verts, p->numverts * sizeof(GL2PSvertex)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:2165:3: [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(prim->verts, verts, numverts * sizeof(GL2PSvertex)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:2378: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(&(((char*)(node->image->pixels))[i + v]), &(current[2]), sizeoffloat); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:2380: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(&(((char*)(node->image->pixels))[i + v]), &(current[2]), vtot - i); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:2912: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 tmp[16]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3206: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 name[256]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3221: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, "untitled"); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4835:52: [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 void gl2psSVGGetColorString(GL2PSrgba rgba, char str[32]) data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4843: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(str, "#%2.2x%2.2x%2.2x", rc, gc, bc); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4849: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 col[32]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4903: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 col[32]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5030: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 col[32]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5125: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 col[32]; data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5534:41: [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. GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer, data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5534:60: [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. GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer, data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5651:5: [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(gl2ps->colormap, colormap, gl2ps->colorsize * sizeof(GL2PSrgba)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5828:7: [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(prim->data.image->pixels, pixels, size * sizeof(GLfloat)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5835:5: [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(prim->data.image->pixels, pixels, size * sizeof(GLfloat)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.h:164:41: [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. GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer, data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.h:164:60: [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. GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer, data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/colormapreader.cpp:34:9: [2] (misc) open: 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 ( open(path) ) data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/colormapreader.cpp:39:23: [2] (misc) open: 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). bool ColorMapPreview::open(QString fname) data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/colormapreader.h:22:7: [2] (misc) open: 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). bool open(QString); data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh2mainwindow.cpp:105:28: [2] (misc) open: 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). connectA( openFile, SLOT( open() ) ); data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh2mainwindow.cpp:223:23: [2] (misc) open: 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). void Mesh2MainWindow::open() data/qwtplot3d-0.2.7+svn191+gcc7/examples/mesh2/src/mesh2mainwindow.h:55:7: [2] (misc) open: 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). void open(); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_gl2ps.cpp:208:13: [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). FILE *fp = fopen(QWT3DLOCAL8BIT(fname), "wb"); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_gl2ps.cpp:236:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen(QWT3DLOCAL8BIT(fn), "wb"); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:19:8: [2] (misc) open: 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). FILE* open(QString fname) data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:21:16: [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). FILE* file = fopen(QWT3DLOCAL8BIT(fname), "r"); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:52:12: [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 buf[71]; data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:80:27: [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). xmesh = (unsigned int)atoi(p); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:84:27: [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). ymesh = (unsigned int)atoi (p); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:168:9: [2] (misc) open: 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). file = open(fname); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:893:46: [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). prim->data.text->str = (char*)gl2psMalloc((strlen(str)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:895:51: [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). prim->data.text->fontname = (char*)gl2psMalloc((strlen(fontname)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:910:35: [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->str = (char*)gl2psMalloc((strlen(t->str)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:912: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). text->fontname = (char*)gl2psMalloc((strlen(t->fontname)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3210:25: [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(gl2ps->filename && strlen(gl2ps->filename) < 256){ data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3211: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). for(i = strlen(gl2ps->filename)-1; i >= 0; i--){ data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:3213:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(name, gl2ps->filename, i); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4422: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). ? strlen("/TrSh sh\n") + (int)log10((double)childobj)+1 data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:4423: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). : strlen("/TrSh0 sh\n"); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5670: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). gl2ps->title = (char*)gl2psMalloc((strlen(title)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5679: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). gl2ps->producer = (char*)gl2psMalloc((strlen(producer)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/3rdparty/gl2ps/gl2ps.c:5688: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). gl2ps->filename = (char*)gl2psMalloc((strlen(filename)+1)*sizeof(char)); data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:33:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((c = fgetc (fp)) == EOF) data/qwtplot3d-0.2.7+svn191+gcc7/src/qwt3d_io_reader.cpp:41:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((c = fgetc (fp)) == EOF) ANALYSIS SUMMARY: Hits = 70 Lines analyzed = 18420 in approximately 0.44 seconds (41961 lines/second) Physical Source Lines of Code (SLOC) = 13992 Hits@level = [0] 103 [1] 14 [2] 45 [3] 0 [4] 11 [5] 0 Hits@level+ = [0+] 173 [1+] 70 [2+] 56 [3+] 11 [4+] 11 [5+] 0 Hits/KSLOC@level+ = [0+] 12.3642 [1+] 5.00286 [2+] 4.00229 [3+] 0.786164 [4+] 0.786164 [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.