crypto/rsa/rsa_chk.c:129: error: BUFFER_OVERRUN_L3
  Offset: [8, +oo] (⇐ [8, +oo] + [0, +oo]) Size: [0, 8388607] by call to `BN_mul`.
Showing all 25 steps of the trace


crypto/rsa/rsa_chk.c:86:9: Call
84.   
85.       /* p prime? */
86.       r = BN_is_prime_ex(key->p, BN_prime_checks, NULL, cb);
              ^
87.       if (r != 1) {
88.           ret = r;

crypto/bn/bn_prime.c:303:12: Call
  301.                      BN_GENCB *cb)
  302.   {
  303.       return BN_is_prime_fasttest_ex(a, checks, ctx_passed, 0, cb);
                    ^
  304.   }
  305.   

crypto/bn/bn_prime.c:377:10: Call
    375.       if (mont == NULL)
    376.           goto err;
    377.       if (!BN_MONT_CTX_set(mont, A, ctx))
                    ^
    378.           goto err;
    379.   

crypto/bn/bn_mont.c:358:15: Call
      356.   
      357.       BN_CTX_start(ctx);
      358.       if ((Ri = BN_CTX_get(ctx)) == NULL)
                           ^
      359.           goto err;
      360.       R = &(mont->RR);            /* grab RR as a temp */

crypto/bn/bn_ctx.c:284:5: Call
        282.       }
        283.       /* OK, make sure the returned bignum is "zero" */
        284.       BN_zero(ret);
                   ^
        285.       ctx->used++;
        286.       CTXDBG_RET(ctx, ret);

crypto/bn/bn_lib.c:530:1: Parameter `*a->d`
          528.   }
          529.   
          530. > int BN_set_word(BIGNUM *a, BN_ULONG w)
          531.   {
          532.       bn_check_top(a);

crypto/bn/bn_mont.c:428:14: Call
      426.           tmod.top = buf[0] != 0 ? 1 : 0;
      427.           /* Ri = R^-1 mod N */
      428.           if ((BN_mod_inverse(Ri, R, &tmod, ctx)) == NULL)
                          ^
      429.               goto err;
      430.           if (!BN_lshift(Ri, Ri, BN_BITS2))

crypto/bn/bn_gcd.c:226:1: Parameter `*in->d`
        224.                                           BN_CTX *ctx);
        225.   
        226. > BIGNUM *BN_mod_inverse(BIGNUM *in,
        227.                          const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
        228.   {

crypto/bn/bn_gcd.c:231:10: Call
        229.       BIGNUM *rv;
        230.       int noinv;
        231.       rv = int_bn_mod_inverse(in, a, n, ctx, &noinv);
                        ^
        232.       if (noinv)
        233.           BNerr(BN_F_BN_MOD_INVERSE, BN_R_NO_INVERSE);

crypto/bn/bn_gcd.c:237:1: Parameter `*in->d`
          235.   }
          236.   
          237. > BIGNUM *int_bn_mod_inverse(BIGNUM *in,
          238.                              const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx,
          239.                              int *pnoinv)

crypto/bn/bn_gcd.c:533:18: Call
          531.           /* Y*a == 1  (mod |n|) */
          532.           if (!Y->neg && BN_ucmp(Y, n) < 0) {
          533.               if (!BN_copy(R, Y))
                                  ^
          534.                   goto err;
          535.           } else {

crypto/bn/bn_lib.c:429:1: Parameter `*a->d`
            427.   }
            428.   
            429. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
            430.   {
            431.       int i;

crypto/rsa/rsa_chk.c:129:9: Call
127.   
128.       /* now compute k = lcm(i,j) */
129.       r = BN_mul(l, i, j, ctx);
               ^
130.       if (!r) {
131.           ret = -1;

crypto/bn/bn_mul.c:883:1: Parameter `*b->d`
  881.   #endif                          /* BN_RECURSION */
  882.   
  883. > int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  884.   {
  885.       int ret = 0;

crypto/bn/bn_mul.c:964:17: Call
  962.                   if (bn_wexpand(rr, k * 4) == NULL)
  963.                       goto err;
  964.                   bn_mul_part_recursive(rr->d, a->d, b->d,
                         ^
  965.                                         j, al - j, bl - j, t->d);
  966.               } else {            /* al <= j || bl <= j */

crypto/bn/bn_mul.c:534:1: Parameter `n`
    532.    */
    533.   /* tnX may not be negative but less than n */
    534. > void bn_mul_part_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n,
    535.                              int tna, int tnb, BN_ULONG *t)
    536.   {

crypto/bn/bn_mul.c:548:10: Call
    546.       /* r=(a[0]-a[1])*(b[1]-b[0]) */
    547.       c1 = bn_cmp_part_words(a, &(a[n]), tna, n - tna);
    548.       c2 = bn_cmp_part_words(&(b[n]), b, tnb, tnb - n);
                    ^
    549.       neg = 0;
    550.       switch (c1 * 3 + c2) {

crypto/bn/bn_lib.c:782:1: Parameter `cl`
      780.    */
      781.   
      782. > int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b, int cl, int dl)
      783.   {
      784.       int n, i;

crypto/bn/bn_lib.c:799:12: Call
      797.           }
      798.       }
      799.       return bn_cmp_words(a, b, cl);
                        ^
      800.   }
      801.   

crypto/bn/bn_lib.c:755:1: <Offset trace>
753.   }
754.   
755. > int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
756.   {
757.       int i;

crypto/bn/bn_lib.c:755:1: Parameter `n`
        753.   }
        754.   
        755. > int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
        756.   {
        757.       int i;

crypto/bn/bn_lib.c:764:10: Assignment
        762.       if (aa != bb)
        763.           return ((aa > bb) ? 1 : -1);
        764.       for (i = n - 2; i >= 0; i--) {
                        ^
        765.           aa = a[i];
        766.           bb = b[i];

crypto/bn/bn_lib.c:755:1: <Length trace>
753.   }
754.   
755. > int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
756.   {
757.       int i;

crypto/bn/bn_lib.c:755:1: Parameter `*a`
        753.   }
        754.   
        755. > int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
        756.   {
        757.       int i;

crypto/bn/bn_lib.c:765:14: Array access: Offset: [8, +oo] (⇐ [8, +oo] + [0, +oo]) Size: [0, 8388607] by call to `BN_mul` 
        763.           return ((aa > bb) ? 1 : -1);
        764.       for (i = n - 2; i >= 0; i--) {
        765.           aa = a[i];
                            ^
        766.           bb = b[i];
        767.           if (aa != bb)
