crypto/rand/drbg_rand.c:182: error: INTEGER_OVERFLOW_L2
  (1 - [-37, 15]):unsigned64 by call to `ctr_BCC_update`.
Showing all 13 steps of the trace


crypto/rand/drbg_rand.c:178:5: Assignment
176.       *p++ = 0;
177.       *p = (unsigned char)((ctr->keylen + 16) & 0xff);
178.       ctr->bltmp_pos = 8;
           ^
179.       ctr_BCC_update(ctr, in1, in1len);
180.       ctr_BCC_update(ctr, in2, in2len);

crypto/rand/drbg_rand.c:179:5: Call
177.       *p = (unsigned char)((ctr->keylen + 16) & 0xff);
178.       ctr->bltmp_pos = 8;
179.       ctr_BCC_update(ctr, in1, in1len);
           ^
180.       ctr_BCC_update(ctr, in2, in2len);
181.       ctr_BCC_update(ctr, in3, in3len);

crypto/rand/drbg_rand.c:110:1: Parameter `ctr->bltmp_pos`
  108.    * Process several blocks into BCC algorithm, some possibly partial
  109.    */
  110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
  111.                              const unsigned char *in, size_t inlen)
  112.   {

crypto/rand/drbg_rand.c:180:5: Call
178.       ctr->bltmp_pos = 8;
179.       ctr_BCC_update(ctr, in1, in1len);
180.       ctr_BCC_update(ctr, in2, in2len);
           ^
181.       ctr_BCC_update(ctr, in3, in3len);
182.       ctr_BCC_update(ctr, &c80, 1);

crypto/rand/drbg_rand.c:110:1: Parameter `ctr->bltmp_pos`
  108.    * Process several blocks into BCC algorithm, some possibly partial
  109.    */
  110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
  111.                              const unsigned char *in, size_t inlen)
  112.   {

crypto/rand/drbg_rand.c:181:5: Call
179.       ctr_BCC_update(ctr, in1, in1len);
180.       ctr_BCC_update(ctr, in2, in2len);
181.       ctr_BCC_update(ctr, in3, in3len);
           ^
182.       ctr_BCC_update(ctr, &c80, 1);
183.       ctr_BCC_final(ctr);

crypto/rand/drbg_rand.c:110:1: Parameter `ctr->bltmp_pos`
  108.    * Process several blocks into BCC algorithm, some possibly partial
  109.    */
  110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
  111.                              const unsigned char *in, size_t inlen)
  112.   {

crypto/rand/drbg_rand.c:182:5: Call
180.       ctr_BCC_update(ctr, in2, in2len);
181.       ctr_BCC_update(ctr, in3, in3len);
182.       ctr_BCC_update(ctr, &c80, 1);
           ^
183.       ctr_BCC_final(ctr);
184.       /* Set up key K */

crypto/rand/drbg_rand.c:110:1: <LHS trace>
108.    * Process several blocks into BCC algorithm, some possibly partial
109.    */
110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
111.                              const unsigned char *in, size_t inlen)
112.   {

crypto/rand/drbg_rand.c:110:1: Parameter `inlen`
  108.    * Process several blocks into BCC algorithm, some possibly partial
  109.    */
  110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
  111.                              const unsigned char *in, size_t inlen)
  112.   {

crypto/rand/drbg_rand.c:110:1: <RHS trace>
108.    * Process several blocks into BCC algorithm, some possibly partial
109.    */
110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
111.                              const unsigned char *in, size_t inlen)
112.   {

crypto/rand/drbg_rand.c:110:1: Parameter `inlen`
  108.    * Process several blocks into BCC algorithm, some possibly partial
  109.    */
  110. > static void ctr_BCC_update(RAND_DRBG_CTR *ctr,
  111.                              const unsigned char *in, size_t inlen)
  112.   {

crypto/rand/drbg_rand.c:125:13: Binary operation: (1 - [-37, 15]):unsigned64 by call to `ctr_BCC_update` 
  123.               ctr_BCC_blocks(ctr, ctr->bltmp);
  124.               ctr->bltmp_pos = 0;
  125.               inlen -= left;
                     ^
  126.               in += left;
  127.           }
