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/epix-1.2.19/Color.cc
Examining data/epix-1.2.19/Color.h
Examining data/epix-1.2.19/Color_Base.cc
Examining data/epix-1.2.19/Color_Base.h
Examining data/epix-1.2.19/Color_CMY.cc
Examining data/epix-1.2.19/Color_CMY.h
Examining data/epix-1.2.19/Color_CMYK.cc
Examining data/epix-1.2.19/Color_CMYK.h
Examining data/epix-1.2.19/Color_Gray.cc
Examining data/epix-1.2.19/Color_Gray.h
Examining data/epix-1.2.19/Color_Neutral.cc
Examining data/epix-1.2.19/Color_Neutral.h
Examining data/epix-1.2.19/Color_RGB.cc
Examining data/epix-1.2.19/Color_RGB.h
Examining data/epix-1.2.19/Color_Sep.cc
Examining data/epix-1.2.19/Color_Sep.h
Examining data/epix-1.2.19/Color_Utils.cc
Examining data/epix-1.2.19/Color_Utils.h
Examining data/epix-1.2.19/Complex.cc
Examining data/epix-1.2.19/Complex.h
Examining data/epix-1.2.19/Sline.cc
Examining data/epix-1.2.19/Sline.h
Examining data/epix-1.2.19/active_screen.cc
Examining data/epix-1.2.19/active_screen.h
Examining data/epix-1.2.19/affine.cc
Examining data/epix-1.2.19/affine.h
Examining data/epix-1.2.19/angle_units.cc
Examining data/epix-1.2.19/angle_units.h
Examining data/epix-1.2.19/arrow_data.cc
Examining data/epix-1.2.19/arrow_data.h
Examining data/epix-1.2.19/arrow_style.cc
Examining data/epix-1.2.19/arrow_style.h
Examining data/epix-1.2.19/axis.cc
Examining data/epix-1.2.19/axis.h
Examining data/epix-1.2.19/camera.cc
Examining data/epix-1.2.19/camera.h
Examining data/epix-1.2.19/circle.cc
Examining data/epix-1.2.19/circle.h
Examining data/epix-1.2.19/clipping.cc
Examining data/epix-1.2.19/clipping.h
Examining data/epix-1.2.19/constants.h
Examining data/epix-1.2.19/crop_algorithms.h
Examining data/epix-1.2.19/cropping.cc
Examining data/epix-1.2.19/cropping.h
Examining data/epix-1.2.19/curves.cc
Examining data/epix-1.2.19/curves.h
Examining data/epix-1.2.19/data_bins.cc
Examining data/epix-1.2.19/data_bins.h
Examining data/epix-1.2.19/data_file.cc
Examining data/epix-1.2.19/data_file.h
Examining data/epix-1.2.19/data_mask.cc
Examining data/epix-1.2.19/data_mask.h
Examining data/epix-1.2.19/debug.h
Examining data/epix-1.2.19/deriv.h
Examining data/epix-1.2.19/doc/my_code.cc
Examining data/epix-1.2.19/doc/my_code.h
Examining data/epix-1.2.19/domain.cc
Examining data/epix-1.2.19/domain.h
Examining data/epix-1.2.19/edge_data.h
Examining data/epix-1.2.19/eepic.cc
Examining data/epix-1.2.19/eepic.h
Examining data/epix-1.2.19/enums.h
Examining data/epix-1.2.19/errors.h
Examining data/epix-1.2.19/facet.cc
Examining data/epix-1.2.19/facet.h
Examining data/epix-1.2.19/fmt_template.cc
Examining data/epix-1.2.19/fmt_template.h
Examining data/epix-1.2.19/format.cc
Examining data/epix-1.2.19/format.h
Examining data/epix-1.2.19/frac.cc
Examining data/epix-1.2.19/frac.h
Examining data/epix-1.2.19/frame.cc
Examining data/epix-1.2.19/frame.h
Examining data/epix-1.2.19/functions.cc
Examining data/epix-1.2.19/functions.h
Examining data/epix-1.2.19/geometry.cc
Examining data/epix-1.2.19/geometry.h
Examining data/epix-1.2.19/glyph.cc
Examining data/epix-1.2.19/glyph.h
Examining data/epix-1.2.19/halfspace.cc
Examining data/epix-1.2.19/halfspace.h
Examining data/epix-1.2.19/hatching.cc
Examining data/epix-1.2.19/hatching.h
Examining data/epix-1.2.19/intersections.cc
Examining data/epix-1.2.19/intersections.h
Examining data/epix-1.2.19/interval.cc
Examining data/epix-1.2.19/interval.h
Examining data/epix-1.2.19/label_data.cc
Examining data/epix-1.2.19/label_data.h
Examining data/epix-1.2.19/label_style.cc
Examining data/epix-1.2.19/label_style.h
Examining data/epix-1.2.19/legend.cc
Examining data/epix-1.2.19/legend.h
Examining data/epix-1.2.19/legend_item.cc
Examining data/epix-1.2.19/legend_item.h
Examining data/epix-1.2.19/legend_tile.cc
Examining data/epix-1.2.19/legend_tile.h
Examining data/epix-1.2.19/length.cc
Examining data/epix-1.2.19/length.h
Examining data/epix-1.2.19/lens.cc
Examining data/epix-1.2.19/lens.h
Examining data/epix-1.2.19/map.h
Examining data/epix-1.2.19/marker_style.cc
Examining data/epix-1.2.19/marker_style.h
Examining data/epix-1.2.19/markers.cc
Examining data/epix-1.2.19/markers.h
Examining data/epix-1.2.19/mask_diamond.cc
Examining data/epix-1.2.19/mask_diamond.h
Examining data/epix-1.2.19/mask_ellipse.cc
Examining data/epix-1.2.19/mask_ellipse.h
Examining data/epix-1.2.19/mask_rectangle.cc
Examining data/epix-1.2.19/mask_rectangle.h
Examining data/epix-1.2.19/paint_style.cc
Examining data/epix-1.2.19/paint_style.h
Examining data/epix-1.2.19/pairs.cc
Examining data/epix-1.2.19/pairs.h
Examining data/epix-1.2.19/path.cc
Examining data/epix-1.2.19/path.h
Examining data/epix-1.2.19/path_data.cc
Examining data/epix-1.2.19/path_data.h
Examining data/epix-1.2.19/path_style.cc
Examining data/epix-1.2.19/path_style.h
Examining data/epix-1.2.19/pen_arrow.cc
Examining data/epix-1.2.19/pen_arrow.h
Examining data/epix-1.2.19/pen_data.cc
Examining data/epix-1.2.19/pen_data.h
Examining data/epix-1.2.19/pen_fill.cc
Examining data/epix-1.2.19/pen_fill.h
Examining data/epix-1.2.19/pen_line.cc
Examining data/epix-1.2.19/pen_line.h
Examining data/epix-1.2.19/picture.cc
Examining data/epix-1.2.19/picture.h
Examining data/epix-1.2.19/picture_data.cc
Examining data/epix-1.2.19/picture_data.h
Examining data/epix-1.2.19/plane.cc
Examining data/epix-1.2.19/plane.h
Examining data/epix-1.2.19/plot_algorithms.h
Examining data/epix-1.2.19/plots.cc
Examining data/epix-1.2.19/plots.h
Examining data/epix-1.2.19/pst.cc
Examining data/epix-1.2.19/pst.h
Examining data/epix-1.2.19/samples/binom.cc
Examining data/epix-1.2.19/samples/lighting.h
Examining data/epix-1.2.19/samples/std_F.cc
Examining data/epix-1.2.19/samples/std_F.h
Examining data/epix-1.2.19/screen.cc
Examining data/epix-1.2.19/screen.h
Examining data/epix-1.2.19/screen_crop.cc
Examining data/epix-1.2.19/screen_crop.h
Examining data/epix-1.2.19/screen_data.cc
Examining data/epix-1.2.19/screen_data.h
Examining data/epix-1.2.19/screen_mask.cc
Examining data/epix-1.2.19/screen_mask.h
Examining data/epix-1.2.19/segment.cc
Examining data/epix-1.2.19/segment.h
Examining data/epix-1.2.19/sphere.cc
Examining data/epix-1.2.19/sphere.h
Examining data/epix-1.2.19/spline.cc
Examining data/epix-1.2.19/spline.h
Examining data/epix-1.2.19/spline_data.h
Examining data/epix-1.2.19/state.cc
Examining data/epix-1.2.19/state.h
Examining data/epix-1.2.19/surface.cc
Examining data/epix-1.2.19/surface.h
Examining data/epix-1.2.19/tikz.cc
Examining data/epix-1.2.19/tikz.h
Examining data/epix-1.2.19/tile.cc
Examining data/epix-1.2.19/tile.h
Examining data/epix-1.2.19/triples.cc
Examining data/epix-1.2.19/triples.h
Examining data/epix-1.2.19/utils.cc
Examining data/epix-1.2.19/utils.h
Examining data/epix-1.2.19/verbatim.cc
Examining data/epix-1.2.19/verbatim.h

FINAL RESULTS:

data/epix-1.2.19/utils.cc:58:7:  [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_len];
data/epix-1.2.19/data_bins.cc:243:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  data_bins& data_bins::read(const std::vector<double>& data)
data/epix-1.2.19/data_bins.h:71:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data_bins& read(const std::vector<double>&);
data/epix-1.2.19/data_file.cc:178:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read(filename);
data/epix-1.2.19/data_file.cc:191:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read(filename);
data/epix-1.2.19/data_file.cc:236:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  data_file& data_file::read(const char* filename)
data/epix-1.2.19/data_file.cc:676:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    db.read(temp.column(col));
data/epix-1.2.19/data_file.cc:684:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    db.read(temp.column(col));
data/epix-1.2.19/data_file.h:69:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    data_file& read(const char*);

ANALYSIS SUMMARY:

Hits = 9
Lines analyzed = 30126 in approximately 0.75 seconds (40129 lines/second)
Physical Source Lines of Code (SLOC) = 16837
Hits@level = [0]   0 [1]   8 [2]   1 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   9 [1+]   9 [2+]   1 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 0.534537 [1+] 0.534537 [2+] 0.059393 [3+]   0 [4+]   0 [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.