crypto/ec/ec_pmeth.c:261: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 67108856] by call to `EC_KEY_dup`.
Showing all 19 steps of the trace


crypto/ec/ec_pmeth.c:217:1: Parameter `ctx->pkey->pkey.ec->group->cofactor->top`
215.   #endif
216.   
217. > static int pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
218.   {
219.       EC_PKEY_CTX *dctx = ctx->data;

crypto/ec/ec_pmeth.c:258:17: Call
256.                   return -2;
257.               /* If cofactor is 1 cofactor mode does nothing */
258.               if (BN_is_one(ec_key->group->cofactor))
                       ^
259.                   return 1;
260.               if (!dctx->co_key) {

crypto/bn/bn_lib.c:857:1: Parameter `a->top`
  855.   }
  856.   
  857. > int BN_is_one(const BIGNUM *a)
  858.   {
  859.       return BN_abs_is_word(a, 1) && !a->neg;

crypto/bn/bn_lib.c:859:12: Call
  857.   int BN_is_one(const BIGNUM *a)
  858.   {
  859.       return BN_abs_is_word(a, 1) && !a->neg;
                    ^
  860.   }
  861.   

crypto/bn/bn_lib.c:847:1: Parameter `a->top`
    845.   }
    846.   
    847. > int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w)
    848.   {
    849.       return ((a->top == 1) && (a->d[0] == w)) || ((w == 0) && (a->top == 0));

crypto/ec/ec_pmeth.c:261:32: Call
259.                   return 1;
260.               if (!dctx->co_key) {
261.                   dctx->co_key = EC_KEY_dup(ec_key);
                                      ^
262.                   if (!dctx->co_key)
263.                       return 0;

crypto/ec/ec_key.c:149:1: Parameter `ec_key->group->cofactor->top`
  147.   }
  148.   
  149. > EC_KEY *EC_KEY_dup(const EC_KEY *ec_key)
  150.   {
  151.       EC_KEY *ret = EC_KEY_new_method(ec_key->engine);

crypto/ec/ec_key.c:156:9: Call
  154.           return NULL;
  155.   
  156.       if (EC_KEY_copy(ret, ec_key) == NULL) {
                 ^
  157.           EC_KEY_free(ret);
  158.           return NULL;

crypto/ec/ec_key.c:72:1: Parameter `src->group->cofactor->top`
    70.   }
    71.   
    72. > EC_KEY *EC_KEY_copy(EC_KEY *dest, const EC_KEY *src)
    73.   {
    74.       if (dest == NULL || src == NULL) {

crypto/ec/ec_key.c:97:14: Call
    95.           if (dest->group == NULL)
    96.               return NULL;
    97.           if (!EC_GROUP_copy(dest->group, src->group))
                        ^
    98.               return NULL;
    99.   

crypto/ec/ec_lib.c:130:1: Parameter `src->cofactor->top`
      128.   }
      129.   
      130. > int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
      131.   {
      132.       if (dest->meth->group_copy == 0) {

crypto/ec/ec_lib.c:206:14: Call
      204.           if (!BN_copy(dest->order, src->order))
      205.               return 0;
      206.           if (!BN_copy(dest->cofactor, src->cofactor))
                          ^
      207.               return 0;
      208.       }

crypto/bn/bn_lib.c:323:1: <Offset trace>
321.   }
322.   
323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
324.   {
325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: Parameter `b->top`
        321.   }
        322.   
        323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        324.   {
        325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: <Length trace>
321.   }
322.   
323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
324.   {
325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: Parameter `*a->d`
        321.   }
        322.   
        323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        324.   {
        325.       bn_check_top(b);

crypto/bn/bn_lib.c:329:9: Call
        327.       if (a == b)
        328.           return a;
        329.       if (bn_wexpand(a, b->top) == NULL)
                       ^
        330.           return NULL;
        331.   

crypto/bn/bn_lib.c:948:1: Parameter `*a->d`
          946.   }
          947.   
          948. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
          949.   {
          950.       return (words <= a->dmax) ? a : bn_expand2(a, words);

crypto/bn/bn_lib.c:333:9: Array access: Offset added: [8, +oo] Size: [0, 67108856] by call to `EC_KEY_dup` 
        331.   
        332.       if (b->top > 0)
        333.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                       ^
        334.   
        335.       a->top = b->top;
