crypto/dh/dh_check.c:136: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 67108856] by call to `BN_div`.
Showing all 11 steps of the trace


crypto/dh/dh_check.c:101:1: Parameter `dh->p->top`
99.   }
100.   
101. > int DH_check(const DH *dh, int *ret)
102.   {
103.       int ok = 0, r;

crypto/dh/dh_check.c:136:14: Call
134.               *ret |= DH_CHECK_Q_NOT_PRIME;
135.           /* Check p == 1 mod q  i.e. q divides p - 1 */
136.           if (!BN_div(t1, t2, dh->p, dh->q, ctx))
                    ^
137.               goto err;
138.           if (!BN_is_one(t2))

crypto/bn/bn_div.c:137:1: Parameter `num->top`
  135.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
  136.    */
  137. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
  138.              BN_CTX *ctx)
  139.   {

crypto/bn/bn_div.c:182:17: Call
  180.       if (!no_branch && BN_ucmp(num, divisor) < 0) {
  181.           if (rm != NULL) {
  182.               if (BN_copy(rm, num) == NULL)
                         ^
  183.                   return 0;
  184.           }

crypto/bn/bn_lib.c:285:1: <Offset trace>
283.   }
284.   
285. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
286.   {
287.       bn_check_top(b);

crypto/bn/bn_lib.c:285:1: Parameter `b->top`
    283.   }
    284.   
    285. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    286.   {
    287.       bn_check_top(b);

crypto/bn/bn_lib.c:285:1: <Length trace>
283.   }
284.   
285. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
286.   {
287.       bn_check_top(b);

crypto/bn/bn_lib.c:285:1: Parameter `*a->d`
    283.   }
    284.   
    285. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    286.   {
    287.       bn_check_top(b);

crypto/bn/bn_lib.c:291:9: Call
    289.       if (a == b)
    290.           return a;
    291.       if (bn_wexpand(a, b->top) == NULL)
                   ^
    292.           return NULL;
    293.   

crypto/bn/bn_lib.c:941:1: Parameter `*a->d`
      939.   }
      940.   
      941. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
      942.   {
      943.       return (words <= a->dmax) ? a : bn_expand2(a, words);

crypto/bn/bn_lib.c:295:9: Array access: Offset added: [8, +oo] Size: [0, 67108856] by call to `BN_div` 
    293.   
    294.       if (b->top > 0)
    295.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                   ^
    296.   
    297.       a->top = b->top;
