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/sprng-2.0a/EXAMPLES/2streams_mpi.c
Examining data/sprng-2.0a/EXAMPLES/checkpoint-simple.c
Examining data/sprng-2.0a/EXAMPLES/checkpoint.c
Examining data/sprng-2.0a/EXAMPLES/convert.c
Examining data/sprng-2.0a/EXAMPLES/displaybytes.c
Examining data/sprng-2.0a/EXAMPLES/fsprng-simple_mpi.c
Examining data/sprng-2.0a/EXAMPLES/fsprng_mpi.c
Examining data/sprng-2.0a/EXAMPLES/invalid_ID.c
Examining data/sprng-2.0a/EXAMPLES/message-simple_mpi.c
Examining data/sprng-2.0a/EXAMPLES/message_mpi.c
Examining data/sprng-2.0a/EXAMPLES/myrandom.c
Examining data/sprng-2.0a/EXAMPLES/pi-simple.c
Examining data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c
Examining data/sprng-2.0a/EXAMPLES/seed-simple.c
Examining data/sprng-2.0a/EXAMPLES/seed-simple_mpi.c
Examining data/sprng-2.0a/EXAMPLES/seed.c
Examining data/sprng-2.0a/EXAMPLES/seed_mpi.c
Examining data/sprng-2.0a/EXAMPLES/simple-simple.c
Examining data/sprng-2.0a/EXAMPLES/spawn.c
Examining data/sprng-2.0a/EXAMPLES/sprng-simple.c
Examining data/sprng-2.0a/EXAMPLES/sprng-simple_mpi.C
Examining data/sprng-2.0a/EXAMPLES/sprng-simple_mpi.c
Examining data/sprng-2.0a/EXAMPLES/sprng.C
Examining data/sprng-2.0a/EXAMPLES/sprng.c
Examining data/sprng-2.0a/EXAMPLES/sprng_mpi.c
Examining data/sprng-2.0a/SRC/.template.c
Examining data/sprng-2.0a/SRC/timing.c
Examining data/sprng-2.0a/SRC/checkid.c
Examining data/sprng-2.0a/SRC/cmrg/cmrg.c
Examining data/sprng-2.0a/SRC/cmrg/cmrg.h
Examining data/sprng-2.0a/SRC/communicate.c
Examining data/sprng-2.0a/SRC/cputime.c
Examining data/sprng-2.0a/SRC/cputime.h
Examining data/sprng-2.0a/SRC/drand.c
Examining data/sprng-2.0a/SRC/fwrap.h
Examining data/sprng-2.0a/SRC/fwrap_.h
Examining data/sprng-2.0a/SRC/fwrap_mpi.c
Examining data/sprng-2.0a/SRC/interface.h
Examining data/sprng-2.0a/SRC/sprng/sprng.c
Examining data/sprng-2.0a/SRC/lcg/lcg.c
Examining data/sprng-2.0a/SRC/lcg/lcg.h
Examining data/sprng-2.0a/SRC/lfg/lfg.c
Examining data/sprng-2.0a/SRC/lfg/lfg.h
Examining data/sprng-2.0a/SRC/makeseed.c
Examining data/sprng-2.0a/SRC/memory.c
Examining data/sprng-2.0a/SRC/memory.h
Examining data/sprng-2.0a/SRC/mlfg/int64.h
Examining data/sprng-2.0a/SRC/mlfg/mlfg.c
Examining data/sprng-2.0a/SRC/mlfg/mlfg.h
Examining data/sprng-2.0a/SRC/multiply.h
Examining data/sprng-2.0a/SRC/lcg64/lcg64.c
Examining data/sprng-2.0a/SRC/lcg64/lcg64.h
Examining data/sprng-2.0a/SRC/simple.c
Examining data/sprng-2.0a/SRC/simple_.h
Examining data/sprng-2.0a/SRC/simple_mpi.c
Examining data/sprng-2.0a/SRC/sprng.h
Examining data/sprng-2.0a/SRC/sprng_f.h
Examining data/sprng-2.0a/SRC/store.c
Examining data/sprng-2.0a/SRC/store.h
Examining data/sprng-2.0a/SRC/primelist_32.h
Examining data/sprng-2.0a/SRC/primes_32.h
Examining data/sprng-2.0a/SRC/primelist_64.h
Examining data/sprng-2.0a/SRC/primes_64.h
Examining data/sprng-2.0a/SRC/primes_64.c
Examining data/sprng-2.0a/SRC/pmlcg/basic.h
Examining data/sprng-2.0a/SRC/pmlcg/gmp.h
Examining data/sprng-2.0a/SRC/pmlcg/info.h
Examining data/sprng-2.0a/SRC/pmlcg/pmlcg.h
Examining data/sprng-2.0a/SRC/pmlcg/longlong.h
Examining data/sprng-2.0a/SRC/pmlcg/pmlcg.c
Examining data/sprng-2.0a/SRC/check_gen.c
Examining data/sprng-2.0a/SRC/check_gen_ptr.c
Examining data/sprng-2.0a/SRC/check_gen_simple.c
Examining data/sprng-2.0a/SRC/primes_32.c
Examining data/sprng-2.0a/include/interface.h
Examining data/sprng-2.0a/include/sprng.h
Examining data/sprng-2.0a/include/sprng_f.h
Examining data/sprng-2.0a/TESTS/chisquare.c
Examining data/sprng-2.0a/TESTS/collisions.c
Examining data/sprng-2.0a/TESTS/communicate.c
Examining data/sprng-2.0a/TESTS/coupon.c
Examining data/sprng-2.0a/TESTS/equidist.c
Examining data/sprng-2.0a/TESTS/fft.c
Examining data/sprng-2.0a/TESTS/gap.c
Examining data/sprng-2.0a/TESTS/init_tests.c
Examining data/sprng-2.0a/TESTS/maxt.c
Examining data/sprng-2.0a/TESTS/metropolis.c
Examining data/sprng-2.0a/TESTS/mytest.c
Examining data/sprng-2.0a/TESTS/perm.c
Examining data/sprng-2.0a/TESTS/poker.c
Examining data/sprng-2.0a/TESTS/random_walk.c
Examining data/sprng-2.0a/TESTS/runs.c
Examining data/sprng-2.0a/TESTS/serial.c
Examining data/sprng-2.0a/TESTS/stirling.c
Examining data/sprng-2.0a/TESTS/sum.c
Examining data/sprng-2.0a/TESTS/tests.h
Examining data/sprng-2.0a/TESTS/util.c
Examining data/sprng-2.0a/TESTS/util.h
Examining data/sprng-2.0a/TESTS/wolff.c

FINAL RESULTS:

data/sprng-2.0a/EXAMPLES/checkpoint-simple.c:37:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%s", outfile);
data/sprng-2.0a/EXAMPLES/checkpoint-simple.c:39:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%s", infile);
data/sprng-2.0a/EXAMPLES/checkpoint.c:46:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%s", outfile);
data/sprng-2.0a/EXAMPLES/checkpoint.c:48:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%s", infile);
data/sprng-2.0a/EXAMPLES/pi-simple.c:80:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%s", filename);
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:118:5:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
    scanf("%s", filename);
data/sprng-2.0a/SRC/.template.c:340: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(temp_buffer+pos,q->gentype);
data/sprng-2.0a/SRC/check_gen.c:18:16:  [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.
#define report printf
data/sprng-2.0a/SRC/check_gen_ptr.c:19:16:  [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.
#define report printf
data/sprng-2.0a/SRC/check_gen_simple.c:20:16:  [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.
#define report printf
data/sprng-2.0a/SRC/cmrg/cmrg.c:535: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((char *)p,q->gentype);
data/sprng-2.0a/SRC/lcg/lcg.c:760: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((char *)p,q->gentype);
data/sprng-2.0a/SRC/lcg64/lcg64.c:489: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((char *)p,q->gentype);
data/sprng-2.0a/SRC/lfg/lfg.c:888: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((char *)p,q->gentype);
data/sprng-2.0a/SRC/mlfg/mlfg.c:701: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((char *) p,q->gentype);
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:700: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(temp_buffer+pos,q->gentype);
data/sprng-2.0a/SRC/sprng/sprng.c:196:3:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		fprintf(stderr, \
data/sprng-2.0a/SRC/drand.c:16:10:  [3] (random) drand48:
  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.
    rn = drand48();
data/sprng-2.0a/EXAMPLES/checkpoint-simple.c:25: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 buffer[MAX_PACKED_LENGTH], outfile[80], infile[80], *bytes;
data/sprng-2.0a/EXAMPLES/checkpoint-simple.c:45: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(infile,"r");
data/sprng-2.0a/EXAMPLES/checkpoint-simple.c:70:8:  [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(outfile,"w");     /* open file to store stream state           */
data/sprng-2.0a/EXAMPLES/checkpoint.c:26: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 buffer[MAX_PACKED_LENGTH], outfile[80], infile[80], *bytes;
data/sprng-2.0a/EXAMPLES/checkpoint.c:55: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(infile,"r");
data/sprng-2.0a/EXAMPLES/checkpoint.c:77:8:  [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(outfile,"w");	/* open file to store stream state          */
data/sprng-2.0a/EXAMPLES/pi-simple.c:26: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 filename[80];
data/sprng-2.0a/EXAMPLES/pi-simple.c:74: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 buffer[MAX_PACKED_LENGTH];
data/sprng-2.0a/EXAMPLES/pi-simple.c:96: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(filename,"r");	/* open file                               */
data/sprng-2.0a/EXAMPLES/pi-simple.c:123:8:  [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(filename,"w");	/* open file to store state                */
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:32: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 filename[80];
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:106: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 buffer[MAX_PACKED_LENGTH];
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:141:12:  [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(filename,"r");	/* open file                               */
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:187: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 *bytes, packed[MAX_PACKED_LENGTH];
data/sprng-2.0a/EXAMPLES/pi-simple_mpi.c:196: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(filename,"w");	/* open file to store stream state         */
data/sprng-2.0a/SRC/.template.c:338: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(temp_buffer,q,sizeof(struct rngen));
data/sprng-2.0a/SRC/.template.c:345: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(temp_buffer+pos,q->array_sizes,q->narrays*sizeof(int));
data/sprng-2.0a/SRC/.template.c:349: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(temp_buffer+pos,q->arrays[i],q->array_sizes[i]*sizeof(int));
data/sprng-2.0a/SRC/.template.c:377: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(q,packed,sizeof(struct rngen));
data/sprng-2.0a/SRC/.template.c:396: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(q->array_sizes,packed+pos,q->narrays*sizeof(int));
data/sprng-2.0a/SRC/.template.c:404: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(q->arrays[i],packed+pos,q->array_sizes[i]*sizeof(int));
data/sprng-2.0a/SRC/check_gen.c:256: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 s[MAX_PACKED_LENGTH];
data/sprng-2.0a/SRC/check_gen_ptr.c:207: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 s[MAX_PACKED_LENGTH], *s2;
data/sprng-2.0a/SRC/check_gen_simple.c:164: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 s[MAX_PACKED_LENGTH];
data/sprng-2.0a/SRC/fwrap_.h:262: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(buffer,temp,size);
data/sprng-2.0a/SRC/fwrap_.h:286: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(buffer,temp,size);
data/sprng-2.0a/SRC/fwrap_.h:308: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(buffer,temp,size);
data/sprng-2.0a/SRC/lcg/lcg.c:649: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.
    if (strxncmp((char *) gen->multiplier, (char *) (mults[i]), 4*sizeof(int)) 
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:703: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(temp_buffer+pos,q,sizeof(struct rngen));
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:706: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(temp_buffer+pos,q->k._mp_d,q->k._mp_alloc*sizeof(mp_limb_t));
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:708: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(temp_buffer+pos,q->si._mp_d,q->si._mp_alloc*sizeof(mp_limb_t));
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:745: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(q,packed+pos,sizeof(struct rngen));
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:753: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(q->k._mp_d,packed+pos,q->k._mp_alloc*sizeof(mp_limb_t));
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:755: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(q->si._mp_d,packed+pos,q->si._mp_alloc*sizeof(mp_limb_t));
data/sprng-2.0a/SRC/primes_32.c:74: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(prime_array,prime_list_32+offset,need*sizeof(int));
data/sprng-2.0a/SRC/primes_64.c:75: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(prime_array,prime_list_64+offset,need*sizeof(unsigned int));
data/sprng-2.0a/SRC/store.c:154: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 c[80], *temp;
data/sprng-2.0a/TESTS/collisions.c:45:7:  [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).
  n = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/collisions.c:46:11:  [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).
  logmd = atoi(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/collisions.c:47: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).
  logd = atoi(argv[N_STREAM_PARAM+3]);
data/sprng-2.0a/TESTS/communicate.c:63: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(array,temp,n*sizeof(double));
data/sprng-2.0a/TESTS/communicate.c:82: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(array,temp,n*sizeof(long));
data/sprng-2.0a/TESTS/coupon.c:43:7:  [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).
  n = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/coupon.c:44:7:  [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).
  t = atoi(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/coupon.c:45:7:  [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).
  d = atoi(argv[N_STREAM_PARAM+3]);
data/sprng-2.0a/TESTS/equidist.c:41:13:  [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).
   numDiv = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/equidist.c:42:16:  [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).
   numRanNum = atol(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/fft.c:69:19:  [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).
  if(argc != 8 || atoi(argv[2]) != 1 || atoi(argv[6]) != 0)
data/sprng-2.0a/TESTS/fft.c:69:41:  [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).
  if(argc != 8 || atoi(argv[2]) != 1 || atoi(argv[6]) != 0)
data/sprng-2.0a/TESTS/fft.c:75:11:  [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).
  else if(atoi(argv[1]) < 1 || atoi(argv[5]) < 1 || atoi(argv[7]) < 1 )
data/sprng-2.0a/TESTS/fft.c:75:32:  [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).
  else if(atoi(argv[1]) < 1 || atoi(argv[5]) < 1 || atoi(argv[7]) < 1 )
data/sprng-2.0a/TESTS/fft.c:75:53:  [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).
  else if(atoi(argv[1]) < 1 || atoi(argv[5]) < 1 || atoi(argv[7]) < 1 )
data/sprng-2.0a/TESTS/fft.c:81:14:  [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).
  nstreams = atoi(argv[1]);	/* number of streams                       */
data/sprng-2.0a/TESTS/fft.c:82:11:  [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).
  param = atoi(argv[4]);	/* parameter to the generator              */
data/sprng-2.0a/TESTS/fft.c:83:11:  [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).
  nruns = atoi(argv[5]);	/* number of runs to repeat                */
data/sprng-2.0a/TESTS/fft.c:84:7:  [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).
  n = atoi(argv[7]);		/* number of random numbers per stream     */
data/sprng-2.0a/TESTS/gap.c:37:16:  [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).
   maxGapLen = atoi(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/gap.c:40:16:  [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).
   numTotGap = atol(argv[N_STREAM_PARAM+4]);
data/sprng-2.0a/TESTS/init_tests.c:82:7:  [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).
  if (atoi(argv[1])>5||atoi(argv[1])<0)
data/sprng-2.0a/TESTS/init_tests.c:82:24:  [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).
  if (atoi(argv[1])>5||atoi(argv[1])<0)
data/sprng-2.0a/TESTS/init_tests.c:88:6:  [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).
  if(atoi(argv[3]) <= 0)
data/sprng-2.0a/TESTS/init_tests.c:94:6:  [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).
  if(atoi(argv[6]) <= 0)
data/sprng-2.0a/TESTS/init_tests.c:123:14:  [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).
  rng_type = atoi(argv[1]); /*--- Get the rand type by reading the 1 arg ---*/
data/sprng-2.0a/TESTS/init_tests.c:124:7:  [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).
  n = atoi(argv[2]);
data/sprng-2.0a/TESTS/init_tests.c:125:15:  [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).
  n_combine = atoi(argv[3]);
data/sprng-2.0a/TESTS/init_tests.c:126: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).
  seed = atoi(argv[4]);
data/sprng-2.0a/TESTS/init_tests.c:127:11:  [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).
  param = atoi(argv[5]);
data/sprng-2.0a/TESTS/init_tests.c:128:19:  [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).
  nsubsequences = atoi(argv[6]);
data/sprng-2.0a/TESTS/init_tests.c:129: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).
  skip = atoi(argv[7]);
data/sprng-2.0a/TESTS/init_tests.c:226:12:  [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).
  length = atoi(argv[8]);
data/sprng-2.0a/TESTS/maxt.c:41:7:  [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).
  n = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/maxt.c:42:7:  [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).
  t = atoi(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/metropolis.c:349:16:  [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).
    rng_type = atoi(*argv++); /*--- get rng_type ---*/
data/sprng-2.0a/TESTS/metropolis.c:350:12:  [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).
    seed = atoi(*argv++);
data/sprng-2.0a/TESTS/metropolis.c:351:13:  [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).
    param = atoi(*argv++);
data/sprng-2.0a/TESTS/metropolis.c:352:20:  [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).
    lattice_size = atoi(*argv++);
data/sprng-2.0a/TESTS/metropolis.c:353:18:  [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).
    block_size = atoi(*argv++);
data/sprng-2.0a/TESTS/metropolis.c:354:22:  [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).
    discard_blocks = atoi(*argv++);
data/sprng-2.0a/TESTS/metropolis.c:355:18:  [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).
    use_blocks = atoi(*argv++);
data/sprng-2.0a/TESTS/mytest.c:14:7:  [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).
  n = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/perm.c:45:14:  [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).
   grpSize = atoi(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/perm.c:46:13:  [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).
   numGrp = atol(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/poker.c:44:7:  [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).
  n = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/poker.c:45:7:  [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).
  k = atoi(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/poker.c:46:7:  [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).
  d = atoi(argv[N_STREAM_PARAM+3]);
data/sprng-2.0a/TESTS/random_walk.c:42:17:  [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).
  walk_length = atoi(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/runs.c:42:16:  [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).
   maxRunLen = atoi(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/runs.c:43:13:  [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).
   numRun = atol(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/serial.c:44:13:  [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).
   numDiv = atol(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/serial.c:45:14:  [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).
   numPair = atol(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/stirling.c:52:7:  [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).
  n = atoi(argv[1]);
data/sprng-2.0a/TESTS/stirling.c:53:7:  [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).
  m = atoi(argv[2]);
data/sprng-2.0a/TESTS/sum.c:29:34:  [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).
  if(argc != N_STREAM_PARAM+3 || atoi(argv[2]) != 1)
data/sprng-2.0a/TESTS/sum.c:38:7:  [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).
  n = atoi(argv[N_STREAM_PARAM+1]);
data/sprng-2.0a/TESTS/sum.c:39:16:  [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).
  group_size = atoi(argv[N_STREAM_PARAM+2]);
data/sprng-2.0a/TESTS/wolff.c:322:16:  [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).
    rng_type = atoi(*argv++); /*--- get rng_type ---*/
data/sprng-2.0a/TESTS/wolff.c:323:12:  [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).
    seed = atoi(*argv++);
data/sprng-2.0a/TESTS/wolff.c:324:13:  [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).
    param = atoi(*argv++);
data/sprng-2.0a/TESTS/wolff.c:325:20:  [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).
    lattice_size = atoi(*argv++);
data/sprng-2.0a/TESTS/wolff.c:326:18:  [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).
    block_size = atoi(*argv++);
data/sprng-2.0a/TESTS/wolff.c:327:22:  [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).
    discard_blocks = atoi(*argv++);
data/sprng-2.0a/TESTS/wolff.c:328:18:  [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).
    use_blocks = atoi(*argv++);
data/sprng-2.0a/EXAMPLES/displaybytes.c:8:13:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while( (c=getchar())!=EOF )
data/sprng-2.0a/SRC/.template.c:327:58:  [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).
  size = sizeof(struct rngen) + q->narrays*sizeof(int) + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/.template.c:341:10:  [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).
  pos += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/.template.c:388:10:  [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).
  pos += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/cmrg/cmrg.c:522:19:  [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).
  size = 4 + 64 + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/cmrg/cmrg.c:536:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/cmrg/cmrg.c:599:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lcg/lcg.c:748: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(q->gentype)+1;
data/sprng-2.0a/SRC/lcg/lcg.c:761:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lcg/lcg.c:831:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lcg64/lcg64.c:476:19:  [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).
  size = 4 + 48 + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lcg64/lcg64.c:490:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lcg64/lcg64.c:543:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lfg/lfg.c:877:34:  [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).
  size = 4 + (3*(q->lval)+5)*4 + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lfg/lfg.c:889:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/lfg/lfg.c:929: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).
  packed += strlen(GENTYPE)+1;
data/sprng-2.0a/SRC/mlfg/mlfg.c:691:30:  [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).
  size = 4 + 24+16*q->lval + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/mlfg/mlfg.c:702:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/mlfg/mlfg.c:747:8:  [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).
  p += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:688:63:  [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).
  size =  4 + sizeof(struct rngen) + q->narrays*sizeof(int) + strlen(q->gentype)+1;
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:701:10:  [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).
  pos += strlen(q->gentype)+1;
data/sprng-2.0a/SRC/pmlcg/pmlcg.c:743:10:  [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).
  pos += strlen(q->gentype)+1;

ANALYSIS SUMMARY:

Hits = 142
Lines analyzed = 35506 in approximately 0.77 seconds (46183 lines/second)
Physical Source Lines of Code (SLOC) = 30572
Hits@level = [0] 487 [1]  22 [2] 102 [3]   1 [4]  17 [5]   0
Hits@level+ = [0+] 629 [1+] 142 [2+] 120 [3+]  18 [4+]  17 [5+]   0
Hits/KSLOC@level+ = [0+] 20.5744 [1+] 4.64477 [2+] 3.92516 [3+] 0.588774 [4+] 0.556064 [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.