ssl/statem/statem_clnt.c:1076: error: BUFFER_OVERRUN_L3
  Offset added: [1, 15] Size: [0, +oo] by call to `ssl_fill_hello_random`.
Showing all 12 steps of the trace


ssl/statem/statem_clnt.c:1076:14: Call
1074.       }
1075.   
1076.       if (i && ssl_fill_hello_random(s, 0, p, sizeof(s->s3->client_random),
                     ^
1077.                                      DOWNGRADE_NONE) <= 0) {
1078.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_CLIENT_HELLO,

ssl/s3_lib.c:4521:1: Parameter `len`
  4519.    * failure, 1 on success.
  4520.    */
  4521. > int ssl_fill_hello_random(SSL *s, int server, unsigned char *result, size_t len,
  4522.                             DOWNGRADE dgrd)
  4523.   {

ssl/s3_lib.c:4539:15: Call
  4537.           ret = ssl_randbytes(s, p, len - 4);
  4538.       } else {
  4539.           ret = ssl_randbytes(s, result, len);
                        ^
  4540.       }
  4541.   #ifndef OPENSSL_NO_TLS13DOWNGRADE

ssl/ssl_lib.c:5172:1: Parameter `size`
    5170.   }
    5171.   
    5172. > int ssl_randbytes(SSL *s, unsigned char *rnd, size_t size)
    5173.   {
    5174.       if (s->drbg != NULL) {

ssl/ssl_lib.c:5187:17: Call
    5185.            * here.
    5186.            */
    5187.            return RAND_DRBG_generate(s->drbg, rnd, size, 0, NULL, 0);
                            ^
    5188.       }
    5189.       return RAND_bytes(rnd, (int)size);

crypto/rand/drbg_lib.c:363:1: Parameter `outlen`
      361.    *
      362.    */
      363. > int RAND_DRBG_generate(RAND_DRBG *drbg, unsigned char *out, size_t outlen,
      364.                          int prediction_resistance,
      365.                          const unsigned char *adin, size_t adinlen)

crypto/rand/drbg_lib.c:409:10: Call
      407.       }
      408.   
      409.       if (!ctr_generate(drbg, out, outlen, adin, adinlen)) {
                      ^
      410.           drbg->state = DRBG_ERROR;
      411.           RANDerr(RAND_F_RAND_DRBG_GENERATE, RAND_R_GENERATE_ERROR);

crypto/rand/drbg_rand.c:266:1: <Offset trace>
264.   }
265.   
266. > int ctr_generate(RAND_DRBG *drbg,
267.                    unsigned char *out, size_t outlen,
268.                    const unsigned char *adin, size_t adinlen)

crypto/rand/drbg_rand.c:266:1: Parameter `outlen`
        264.   }
        265.   
        266. > int ctr_generate(RAND_DRBG *drbg,
        267.                    unsigned char *out, size_t outlen,
        268.                    const unsigned char *adin, size_t adinlen)

crypto/rand/drbg_rand.c:266:1: <Length trace>
264.   }
265.   
266. > int ctr_generate(RAND_DRBG *drbg,
267.                    unsigned char *out, size_t outlen,
268.                    const unsigned char *adin, size_t adinlen)

crypto/rand/drbg_rand.c:266:1: Parameter `drbg->ctr.K[*]`
        264.   }
        265.   
        266. > int ctr_generate(RAND_DRBG *drbg,
        267.                    unsigned char *out, size_t outlen,
        268.                    const unsigned char *adin, size_t adinlen)

crypto/rand/drbg_rand.c:288:13: Array access: Offset added: [1, 15] Size: [0, +oo] by call to `ssl_fill_hello_random` 
        286.               /* Use K as temp space as it will be updated */
        287.               AES_encrypt(ctr->V, ctr->K, &ctr->ks);
        288.               memcpy(out, ctr->K, outlen);
                           ^
        289.               break;
        290.           }
