crypto/ec/ecp_oct.c:119: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 536870848] by call to `BN_kronecker`.
Showing all 21 steps of the trace


crypto/ec/ecp_oct.c:16:1: Parameter `group->field->top`
14.   #include "ec_lcl.h"
15.   
16. > int ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group,
17.                                                EC_POINT *point,
18.                                                const BIGNUM *x_, int y_bit,

crypto/ec/ecp_oct.c:51:10: Call
49.   
50.       /* tmp1 := x^3 */
51.       if (!BN_nnmod(x, x_, group->field, ctx))
               ^
52.           goto err;
53.       if (group->meth->field_decode == 0) {

crypto/bn/bn_mod.c:13:1: Parameter `d->top`
  11.   #include "bn_lcl.h"
  12.   
  13. > int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
  14.   {
  15.       /*

crypto/bn/bn_mod.c:20:11: Call
  18.        */
  19.   
  20.       if (!(BN_mod(r, m, d, ctx)))
                  ^
  21.           return 0;
  22.       if (!r->neg)

crypto/bn/bn_div.c:137:1: Parameter `divisor->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/ec/ecp_oct.c:101:10: Call
99.       }
100.   
101.       if (!BN_mod_sqrt(y, tmp1, group->field, ctx)) {
                ^
102.           unsigned long err = ERR_peek_last_error();
103.   

crypto/bn/bn_sqrt.c:13:1: Parameter `p->top`
  11.   #include "bn_lcl.h"
  12.   
  13. > BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
  14.   /*
  15.    * Returns 'ret' such that ret^2 == a (mod p), using the Tonelli/Shanks

crypto/bn/bn_sqrt.c:26:10: Call
  24.       int e, i, j;
  25.   
  26.       if (!BN_is_odd(p) || BN_abs_is_word(p, 1)) {
                 ^
  27.           if (BN_abs_is_word(p, 2)) {
  28.               if (ret == NULL)

crypto/bn/bn_lib.c:829:1: Parameter `a->top`
    827.   }
    828.   
    829. > int BN_is_odd(const BIGNUM *a)
    830.   {
    831.       return (a->top > 0) && (a->d[0] & 1);

crypto/bn/bn_sqrt.c:26:26: Call
  24.       int e, i, j;
  25.   
  26.       if (!BN_is_odd(p) || BN_abs_is_word(p, 1)) {
                                 ^
  27.           if (BN_abs_is_word(p, 2)) {
  28.               if (ret == NULL)

crypto/bn/bn_lib.c:809:1: Parameter `a->top`
    807.   }
    808.   
    809. > int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w)
    810.   {
    811.       return ((a->top == 1) && (a->d[0] == w)) || ((w == 0) && (a->top == 0));

crypto/ec/ecp_oct.c:119:20: Call
117.               int kron;
118.   
119.               kron = BN_kronecker(x, group->field, ctx);
                          ^
120.               if (kron == -2)
121.                   goto err;

crypto/bn/bn_kron.c:17:1: Parameter `b->top`
  15.   
  16.   /* Returns -2 for errors because both -1 and 0 are valid results. */
  17. > int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  18.   {
  19.       int i;

crypto/bn/bn_kron.c:44:12: Call
  42.       if (err)
  43.           goto end;
  44.       err = !BN_copy(B, b);
                   ^
  45.       if (err)
  46.           goto end;

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:910:1: Parameter `*a->d`
      908.   }
      909.   
      910. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
      911.   {
      912.       return (words <= a->dmax) ? a : bn_expand2(a, words);

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