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/fig2sxd-0.20/colors.h
Examining data/fig2sxd-0.20/check.h
Examining data/fig2sxd-0.20/vector2.h
Examining data/fig2sxd-0.20/style_arrow.cpp
Examining data/fig2sxd-0.20/xfigobjects.h
Examining data/fig2sxd-0.20/xmlwrite.cpp
Examining data/fig2sxd-0.20/xfig_poly.cpp
Examining data/fig2sxd-0.20/xfig_text.cpp
Examining data/fig2sxd-0.20/zipwrite.cpp
Examining data/fig2sxd-0.20/zipwrite.h
Examining data/fig2sxd-0.20/colors.cpp
Examining data/fig2sxd-0.20/xfig_spline.cpp
Examining data/fig2sxd-0.20/misc.cpp
Examining data/fig2sxd-0.20/style_line.cpp
Examining data/fig2sxd-0.20/xfig_compound.cpp
Examining data/fig2sxd-0.20/styles.h
Examining data/fig2sxd-0.20/fig2sxd.cpp
Examining data/fig2sxd-0.20/style_text.cpp
Examining data/fig2sxd-0.20/xmlwrite.h
Examining data/fig2sxd-0.20/check.cpp
Examining data/fig2sxd-0.20/misc.h
Examining data/fig2sxd-0.20/xfig_arc.cpp
Examining data/fig2sxd-0.20/xfig_ellipse.cpp

FINAL RESULTS:

data/fig2sxd-0.20/colors.cpp:95:18:  [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 const char map[17] = "0123456789ABCDEF";
data/fig2sxd-0.20/colors.cpp: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 tmp[8] = "#123456";
data/fig2sxd-0.20/fig2sxd.cpp:191: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 creationtime[30];
data/fig2sxd-0.20/style_arrow.cpp:48:11:  [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.
    const char *names[4] = { "Stick", "ClosedTriangle",
data/fig2sxd-0.20/style_arrow.cpp:50:11:  [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.
    const char styles[2] = { 'O', 'F' };
data/fig2sxd-0.20/style_line.cpp:101: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.
            static const char *styles[3] = { "single", "double", "triple" };
data/fig2sxd-0.20/zipwrite.cpp:91: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 bytes[2] = { (s&0xff), ((s>>8)&0xff) };
data/fig2sxd-0.20/zipwrite.cpp:98: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 bytes[4] = {
data/fig2sxd-0.20/zipwrite.h:49: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 cbuf[32768];
data/fig2sxd-0.20/fig2sxd.cpp:367:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            e->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:372:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            p->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:377:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            s->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:382:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            t->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:387:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            a->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:392:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            c->read( figfile );
data/fig2sxd-0.20/fig2sxd.cpp:397:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            c->read( figfile );
data/fig2sxd-0.20/style_arrow.cpp:28:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Arrow::read( istream& figfile )
data/fig2sxd-0.20/style_line.cpp:116:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void LineFillStyle::read( istream& figfile, int& sub_type, int& depth, bool join )
data/fig2sxd-0.20/style_line.cpp:179:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    tmp.read( figfile );
data/fig2sxd-0.20/styles.h:63:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    istream& read( istream& );
data/fig2sxd-0.20/styles.h:89:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read( istream& figfile, int& sub_type, int& depth, bool join=false );
data/fig2sxd-0.20/xfig_arc.cpp:28:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Arc::read( istream& figfile )
data/fig2sxd-0.20/xfig_arc.cpp:31:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    lfstmp.read( figfile, sub_type, depth );
data/fig2sxd-0.20/xfig_compound.cpp:23:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& OpenCompound::read( istream& figfile )
data/fig2sxd-0.20/xfig_compound.cpp:36:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& CloseCompound::read( istream& figfile )
data/fig2sxd-0.20/xfig_ellipse.cpp:27:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Ellipse::read( istream& figfile )
data/fig2sxd-0.20/xfig_ellipse.cpp:30:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    lfstmp.read( figfile, sub_type, depth );
data/fig2sxd-0.20/xfig_poly.cpp:33:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Poly::read( istream& figfile )
data/fig2sxd-0.20/xfig_poly.cpp:36:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    lfstmp.read( figfile, sub_type, depth, true );
data/fig2sxd-0.20/xfig_spline.cpp:39:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Spline::read( istream& figfile )
data/fig2sxd-0.20/xfig_spline.cpp:42:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    lfstmp.read( figfile, sub_type, depth );
data/fig2sxd-0.20/xfig_text.cpp:31:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
istream& Text::read( istream& figfile )
data/fig2sxd-0.20/xfigobjects.h:55:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:69:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:78:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:99:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:125:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:162:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );
data/fig2sxd-0.20/xfigobjects.h:184:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::istream& read( std::istream& in );

ANALYSIS SUMMARY:

Hits = 39
Lines analyzed = 3218 in approximately 0.11 seconds (28874 lines/second)
Physical Source Lines of Code (SLOC) = 2279
Hits@level = [0]   0 [1]  30 [2]   9 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  39 [1+]  39 [2+]   9 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 17.1128 [1+] 17.1128 [2+] 3.9491 [3+]   0 [4+]   0 [5+]   0
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.