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/bbpager-0.4.7/src/pager.h
Examining data/bbpager-0.4.7/src/pager.cxx
Examining data/bbpager-0.4.7/src/main.h
Examining data/bbpager-0.4.7/src/bbpager.cxx
Examining data/bbpager-0.4.7/src/resource.h
Examining data/bbpager-0.4.7/src/wminterface.h
Examining data/bbpager-0.4.7/src/wminterface.cxx
Examining data/bbpager-0.4.7/src/Baseresource.h
Examining data/bbpager-0.4.7/src/blackboxstyle.h
Examining data/bbpager-0.4.7/src/desktop.cxx
Examining data/bbpager-0.4.7/src/bbpager.h
Examining data/bbpager-0.4.7/src/desktop.h
Examining data/bbpager-0.4.7/src/Baseresource.cxx
Examining data/bbpager-0.4.7/src/main.cxx
Examining data/bbpager-0.4.7/src/resource.cxx

FINAL RESULTS:

data/bbpager-0.4.7/src/Baseresource.cxx:245: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 color_name[8];
data/bbpager-0.4.7/src/bbpager.cxx:516:17:  [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 position[13];
data/bbpager-0.4.7/src/bbpager.cxx:517:17:  [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(position,"+%i+%i",x(),y());
data/bbpager-0.4.7/src/Baseresource.cxx:45:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const std::string blackbox_stylefile = bt_resource.read("session.styleFile", "Session.StyleFile", "");
data/bbpager-0.4.7/src/Baseresource.cxx:96:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return(bt_resource.read(rname, rclass, default_val));
data/bbpager-0.4.7/src/Baseresource.cxx:103:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string tmp = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:105:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return(bt_resource.read(alt_rname, alt_rclass, default_val));
data/bbpager-0.4.7/src/Baseresource.cxx:112:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string tmp = bt_resource.read(rname, rclass, "0");
data/bbpager-0.4.7/src/Baseresource.cxx:123:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string tmp = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:136:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string tmp = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:138:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string tmp = bt_resource.read(alt_rname, alt_rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:147:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string tmp = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:159:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string rcolor = bt_resource.read(rname, rclass, default_color);
data/bbpager-0.4.7/src/Baseresource.cxx:170:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string rcolor = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:172:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        rcolor = bt_resource.read(alt_rname, alt_rclass, default_color);
data/bbpager-0.4.7/src/Baseresource.cxx:208:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::string rtexture = bt_resource.read(rname, rclass, 
data/bbpager-0.4.7/src/Baseresource.cxx:209:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                          bt_resource.read(rname + ".appearance",
data/bbpager-0.4.7/src/Baseresource.cxx:229:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string font_name = bt_resource.read(rname, rclass, "");
data/bbpager-0.4.7/src/Baseresource.cxx:231:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        font_name = bt_resource.read(alt_rname, alt_rclass, "");

ANALYSIS SUMMARY:

Hits = 19
Lines analyzed = 3499 in approximately 0.10 seconds (33817 lines/second)
Physical Source Lines of Code (SLOC) = 2542
Hits@level = [0]  20 [1]  16 [2]   3 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  39 [1+]  19 [2+]   3 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 15.3423 [1+] 7.47443 [2+] 1.18017 [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.