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/octave-interval-3.2.0/src/compatibility/octave.h
Examining data/octave-interval-3.2.0/src/compatibility/octave_4.2.cc
Examining data/octave-interval-3.2.0/src/compatibility/octave_current.cc
Examining data/octave-interval-3.2.0/src/crlibm/acos-td.c
Examining data/octave-interval-3.2.0/src/crlibm/acos-td.h
Examining data/octave-interval-3.2.0/src/crlibm/asin-td.c
Examining data/octave-interval-3.2.0/src/crlibm/asin-td.h
Examining data/octave-interval-3.2.0/src/crlibm/asincos.c
Examining data/octave-interval-3.2.0/src/crlibm/asincos.h
Examining data/octave-interval-3.2.0/src/crlibm/atan_accurate.c
Examining data/octave-interval-3.2.0/src/crlibm/atan_accurate.h
Examining data/octave-interval-3.2.0/src/crlibm/atan_fast.c
Examining data/octave-interval-3.2.0/src/crlibm/atan_fast.h
Examining data/octave-interval-3.2.0/src/crlibm/crlibm.h
Examining data/octave-interval-3.2.0/src/crlibm/crlibm_private.c
Examining data/octave-interval-3.2.0/src/crlibm/crlibm_private.h
Examining data/octave-interval-3.2.0/src/crlibm/csh_fast.c
Examining data/octave-interval-3.2.0/src/crlibm/csh_fast.h
Examining data/octave-interval-3.2.0/src/crlibm/double-extended.h
Examining data/octave-interval-3.2.0/src/crlibm/exp-td-standalone.c
Examining data/octave-interval-3.2.0/src/crlibm/exp-td.c
Examining data/octave-interval-3.2.0/src/crlibm/exp-td.h
Examining data/octave-interval-3.2.0/src/crlibm/expm1-standalone.c
Examining data/octave-interval-3.2.0/src/crlibm/expm1.c
Examining data/octave-interval-3.2.0/src/crlibm/expm1.h
Examining data/octave-interval-3.2.0/src/crlibm/interval.h
Examining data/octave-interval-3.2.0/src/crlibm/log-de.c
Examining data/octave-interval-3.2.0/src/crlibm/log-de.h
Examining data/octave-interval-3.2.0/src/crlibm/log-td.c
Examining data/octave-interval-3.2.0/src/crlibm/log-td.h
Examining data/octave-interval-3.2.0/src/crlibm/log.c
Examining data/octave-interval-3.2.0/src/crlibm/log.h
Examining data/octave-interval-3.2.0/src/crlibm/log10-td.c
Examining data/octave-interval-3.2.0/src/crlibm/log10-td.h
Examining data/octave-interval-3.2.0/src/crlibm/log1p.c
Examining data/octave-interval-3.2.0/src/crlibm/log2-td.c
Examining data/octave-interval-3.2.0/src/crlibm/log2-td.h
Examining data/octave-interval-3.2.0/src/crlibm/log_accurate.c
Examining data/octave-interval-3.2.0/src/crlibm/log_accurate.h
Examining data/octave-interval-3.2.0/src/crlibm/log_fast.c
Examining data/octave-interval-3.2.0/src/crlibm/log_fast.h
Examining data/octave-interval-3.2.0/src/crlibm/pow.c
Examining data/octave-interval-3.2.0/src/crlibm/pow.h
Examining data/octave-interval-3.2.0/src/crlibm/rem_pio2_accurate.c
Examining data/octave-interval-3.2.0/src/crlibm/rem_pio2_accurate.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/addition_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/division_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/double2scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/multiplication_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/poly_fct.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/print_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/rand_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs2double.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs2mpf.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs2mpfr.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs_private.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/scs_private.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/log.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/tbx_timing.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_accuracy.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_log.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_timing.c
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/wrapper_scs.h
Examining data/octave-interval-3.2.0/src/crlibm/scs_lib/zero_scs.c
Examining data/octave-interval-3.2.0/src/crlibm/trigo_accurate.c
Examining data/octave-interval-3.2.0/src/crlibm/trigo_accurate.h
Examining data/octave-interval-3.2.0/src/crlibm/trigo_fast.c
Examining data/octave-interval-3.2.0/src/crlibm/trigo_fast.h
Examining data/octave-interval-3.2.0/src/crlibm/trigpi.c
Examining data/octave-interval-3.2.0/src/crlibm/trigpi.h
Examining data/octave-interval-3.2.0/src/crlibm/triple-double.c
Examining data/octave-interval-3.2.0/src/crlibm/triple-double.h
Examining data/octave-interval-3.2.0/src/crlibm_function.cc
Examining data/octave-interval-3.2.0/src/intervaltotext.cc
Examining data/octave-interval-3.2.0/src/mpfr_commons.h
Examining data/octave-interval-3.2.0/src/mpfr_function_d.cc
Examining data/octave-interval-3.2.0/src/mpfr_linspace_d.cc
Examining data/octave-interval-3.2.0/src/mpfr_matrix_sqr_d.cc
Examining data/octave-interval-3.2.0/src/mpfr_to_string_d.cc
Examining data/octave-interval-3.2.0/src/mpfr_vector_dot_d.cc
Examining data/octave-interval-3.2.0/src/mpfr_vector_sum_d.cc
Examining data/octave-interval-3.2.0/src/__setround__.cc
Examining data/octave-interval-3.2.0/src/mpfr_matrix_mul_d.cc

FINAL RESULTS:

data/octave-interval-3.2.0/src/crlibm/scs_lib/multiplication_scs.c:33:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  printf(s);printf("   ");
data/octave-interval-3.2.0/src/intervaltotext.cc:485:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        sprintf (stat.buf, stat.signed_template, x);
data/octave-interval-3.2.0/src/intervaltotext.cc:487:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        sprintf (stat.buf, stat.unsigned_template, x);
data/octave-interval-3.2.0/src/intervaltotext.cc:542:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf (stat.buf,
data/octave-interval-3.2.0/src/intervaltotext.cc:819:18:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
            std::sprintf (stat.buf, stat.radius_template, r_uint);
data/octave-interval-3.2.0/src/intervaltotext.cc:961:10:  [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).
    std::strcpy (unsigned_template, s.c_str ());
data/octave-interval-3.2.0/src/intervaltotext.cc:967:10:  [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).
    std::strcpy (signed_template, s.c_str ());
data/octave-interval-3.2.0/src/intervaltotext.cc:971:10:  [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).
    std::strcpy (radius_template, s.c_str ());
data/octave-interval-3.2.0/src/mpfr_to_string_d.cc:237:15:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
              sprintf (buf, "%s0x%u.%08x%05xp%+d",
data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_log.c:415:5:  [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(42);  
data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_timing.c:106: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(42);  
data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_accuracy.c:273:10:  [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).
  fct  = atoi(argv[1]);
data/octave-interval-3.2.0/src/crlibm/scs_lib/tests/test_accuracy.c:274:23:  [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).
  bcl  = (argc >= 3)? atoi(argv[2]) : 1000;
data/octave-interval-3.2.0/src/crlibm/scs_lib/wrapper_scs.h:381: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 buffer[10];
data/octave-interval-3.2.0/src/crlibm/scs_lib/wrapper_scs.h:412:2:  [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(buffer,"%x", aa.scsnb.h_word[0]);
data/octave-interval-3.2.0/src/crlibm/scs_lib/wrapper_scs.h:419:6:  [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(buffer,"%x", aa.scsnb.h_word[0]);
data/octave-interval-3.2.0/src/intervaltotext.cc:116:32:  [2] (integer) atol:
  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).
          layout.total_width = atol (overall_width.c_str ());
data/octave-interval-3.2.0/src/intervaltotext.cc:188:27:  [2] (integer) atol:
  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).
    layout.number_width = atol (width.c_str ());
data/octave-interval-3.2.0/src/intervaltotext.cc:207:35:  [2] (integer) atol:
  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).
        layout.number_precision = atol (precision.c_str ());
data/octave-interval-3.2.0/src/intervaltotext.cc:248:29:  [2] (integer) atol:
  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).
      layout.radius_width = atol (radius_width.c_str ());
data/octave-interval-3.2.0/src/mpfr_to_string_d.cc:134: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 [768];
data/octave-interval-3.2.0/src/mpfr_to_string_d.cc:191:15:  [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 (buf, "%f", mantissa);

ANALYSIS SUMMARY:

Hits = 22
Lines analyzed = 54076 in approximately 1.82 seconds (29666 lines/second)
Physical Source Lines of Code (SLOC) = 34629
Hits@level = [0]  95 [1]   0 [2]  11 [3]   2 [4]   9 [5]   0
Hits@level+ = [0+] 117 [1+]  22 [2+]  22 [3+]  11 [4+]   9 [5+]   0
Hits/KSLOC@level+ = [0+] 3.37867 [1+] 0.635306 [2+] 0.635306 [3+] 0.317653 [4+] 0.259898 [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.