crypto/ec/ec_ameth.c:309: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 67108856] by call to `EC_KEY_set_group`.
Showing all 17 steps of the trace


crypto/ec/ec_ameth.c:300:23: Call
298.   static int ec_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
299.   {
300.       EC_GROUP *group = EC_GROUP_dup(EC_KEY_get0_group(from->pkey.ec));
                             ^
301.   
302.       if (group == NULL)

crypto/ec/ec_lib.c:241:10: Call
  239.       if ((t = EC_GROUP_new(a->meth)) == NULL)
  240.           return NULL;
  241.       if (!EC_GROUP_copy(t, a))
                  ^
  242.           goto err;
  243.   

crypto/ec/ec_lib.c:130:1: Parameter `dest->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_ameth.c:309:9: Call
307.               goto err;
308.       }
309.       if (EC_KEY_set_group(to->pkey.ec, group) == 0)
               ^
310.           goto err;
311.       EC_GROUP_free(group);

crypto/ec/ec_key.c:424:1: Parameter `group->cofactor->top`
  422.   }
  423.   
  424. > int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group)
  425.   {
  426.       if (key->meth->set_group != NULL && key->meth->set_group(key, group) == 0)

crypto/ec/ec_key.c:429:18: Call
  427.           return 0;
  428.       EC_GROUP_free(key->group);
  429.       key->group = EC_GROUP_dup(group);
                          ^
  430.       return (key->group == NULL) ? 0 : 1;
  431.   }

crypto/ec/ec_lib.c:231:1: Parameter `a->cofactor->top`
    229.   }
    230.   
    231. > EC_GROUP *EC_GROUP_dup(const EC_GROUP *a)
    232.   {
    233.       EC_GROUP *t = NULL;

crypto/ec/ec_lib.c:241:10: Call
    239.       if ((t = EC_GROUP_new(a->meth)) == NULL)
    240.           return NULL;
    241.       if (!EC_GROUP_copy(t, a))
                    ^
    242.           goto err;
    243.   

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:312:1: <Offset trace>
310.   }
311.   
312. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
313.   {
314.       bn_check_top(b);

crypto/bn/bn_lib.c:312:1: Parameter `b->top`
        310.   }
        311.   
        312. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        313.   {
        314.       bn_check_top(b);

crypto/bn/bn_lib.c:312:1: <Length trace>
310.   }
311.   
312. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
313.   {
314.       bn_check_top(b);

crypto/bn/bn_lib.c:312:1: Parameter `*a->d`
        310.   }
        311.   
        312. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        313.   {
        314.       bn_check_top(b);

crypto/bn/bn_lib.c:318:9: Call
        316.       if (a == b)
        317.           return a;
        318.       if (bn_wexpand(a, b->top) == NULL)
                       ^
        319.           return NULL;
        320.   

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

crypto/bn/bn_lib.c:322:9: Array access: Offset added: [8, +oo] Size: [0, 67108856] by call to `EC_KEY_set_group` 
        320.   
        321.       if (b->top > 0)
        322.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                       ^
        323.   
        324.       a->top = b->top;
