crypto/dsa/dsa_ossl.c:297: error: BUFFER_OVERRUN_L3
  Offset: 0 Size: [0, 8388607] by call to `BN_div`.
Showing all 11 steps of the trace


crypto/dsa/dsa_ossl.c:223:1: Parameter `(*rp)->d`
221.   }
222.   
223. > static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in,
224.                             BIGNUM **kinvp, BIGNUM **rp,
225.                             const unsigned char *dgst, int dlen)

crypto/dsa/dsa_ossl.c:297:10: Call
295.       DSA_BN_MOD_EXP(goto err, dsa, r, dsa->g, K, dsa->p, ctx,
296.                      dsa->method_mont_p);
297.       if (!BN_mod(r, r, dsa->q, ctx))
                ^
298.           goto err;
299.   

crypto/bn/bn_div.c:188:1: Parameter `*rm->d`
  186.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
  187.    */
  188. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
  189.              BN_CTX *ctx)
  190.   {

crypto/bn/bn_div.c:453:9: Call
  451.            */
  452.           int neg = num->neg;
  453.           BN_rshift(rm, snum, norm_shift);
                 ^
  454.           if (!BN_is_zero(rm))
  455.               rm->neg = neg;

crypto/bn/bn_shift.c:168:1: Parameter `*r->d`
    166.   }
    167.   
    168. > int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
    169.   {
    170.       int i, j, nw, lb, rb;

crypto/bn/bn_shift.c:186:9: Call
    184.       lb = BN_BITS2 - rb;
    185.       if (nw >= a->top || a->top == 0) {
    186.           BN_zero(r);
                   ^
    187.           return (1);
    188.       }

crypto/bn/bn_lib.c:520:1: <Length trace>
518.   }
519.   
520. > int BN_set_word(BIGNUM *a, BN_ULONG w)
521.   {
522.       bn_check_top(a);

crypto/bn/bn_lib.c:520:1: Parameter `*a->d`
      518.   }
      519.   
      520. > int BN_set_word(BIGNUM *a, BN_ULONG w)
      521.   {
      522.       bn_check_top(a);

crypto/bn/bn_lib.c:523:9: Call
      521.   {
      522.       bn_check_top(a);
      523.       if (bn_expand(a, (int)sizeof(BN_ULONG) * 8) == NULL)
                     ^
      524.           return (0);
      525.       a->neg = 0;

crypto/bn/bn_lcl.h:777:1: Parameter `*a->d`
        775.   int bn_probable_prime_dh_coprime(BIGNUM *rnd, int bits, BN_CTX *ctx);
        776.   
        777. > static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits)
        778.   {
        779.       if (bits > (INT_MAX - BN_BITS2 + 1))

crypto/bn/bn_lib.c:526:5: Array access: Offset: 0 Size: [0, 8388607] by call to `BN_div` 
      524.           return (0);
      525.       a->neg = 0;
      526.       a->d[0] = w;
                 ^
      527.       a->top = (w ? 1 : 0);
      528.       bn_check_top(a);
