test/ecdsatest.c:334: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 536870848] by call to `BN_bin2bn`.
Showing all 16 steps of the trace


test/ecdsatest.c:265:21: Call
263.           if (!TEST_ptr(wrong_eckey = EC_KEY_new())
264.                   || !TEST_ptr(group = EC_GROUP_new_by_curve_name(nid))
265.                   || !TEST_true(EC_KEY_set_group(wrong_eckey, group)))
                           ^
266.               goto builtin_err;
267.           EC_GROUP_free(group);

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: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->order->d`
      128.   }
      129.   
      130. > int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
      131.   {
      132.       if (dest->meth->group_copy == 0) {

test/ecdsatest.c:334:14: Call
332.           if (!TEST_ptr(modified_sig = ECDSA_SIG_new()))
333.               goto builtin_err;
334.           if (!TEST_ptr(modified_r = BN_bin2bn(raw_buf, bn_len, NULL))
                    ^
335.                   || !TEST_ptr(modified_s = BN_bin2bn(raw_buf + bn_len,
336.                                                       bn_len, NULL))

crypto/bn/bn_lib.c:399:1: Parameter `*ret->d`
  397.   }
  398.   
  399. > BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
  400.   {
  401.       unsigned int i, m;

crypto/bn/bn_lib.c:421:9: Call
  419.       i = ((n - 1) / BN_BYTES) + 1;
  420.       m = ((n - 1) % (BN_BYTES));
  421.       if (bn_wexpand(ret, (int)i) == NULL) {
                 ^
  422.           BN_free(bn);
  423.           return NULL;

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

crypto/bn/bn_lib.c:942:37: Call
    940.   BIGNUM *bn_wexpand(BIGNUM *a, int words)
    941.   {
    942.       return (words <= a->dmax) ? a : bn_expand2(a, words);
                                               ^
    943.   }
    944.   

crypto/bn/bn_lib.c:273:1: Parameter `*b->d`
      271.    */
      272.   
      273. > BIGNUM *bn_expand2(BIGNUM *b, int words)
      274.   {
      275.       bn_check_top(b);

crypto/bn/bn_lib.c:278:23: Call
      276.   
      277.       if (words > b->dmax) {
      278.           BN_ULONG *a = bn_expand_internal(b, words);
                                   ^
      279.           if (!a)
      280.               return NULL;

crypto/bn/bn_lib.c:235:1: <Offset trace>
233.   /* This is used by bn_expand2() */
234.   /* The caller MUST check that words > b->dmax before calling this */
235. > static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
236.   {
237.       BN_ULONG *a = NULL;

crypto/bn/bn_lib.c:235:1: Parameter `b->top`
        233.   /* This is used by bn_expand2() */
        234.   /* The caller MUST check that words > b->dmax before calling this */
        235. > static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
        236.   {
        237.       BN_ULONG *a = NULL;

crypto/bn/bn_lib.c:235:1: <Length trace>
233.   /* This is used by bn_expand2() */
234.   /* The caller MUST check that words > b->dmax before calling this */
235. > static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
236.   {
237.       BN_ULONG *a = NULL;

crypto/bn/bn_lib.c:235:1: Parameter `*b->d`
        233.   /* This is used by bn_expand2() */
        234.   /* The caller MUST check that words > b->dmax before calling this */
        235. > static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
        236.   {
        237.       BN_ULONG *a = NULL;

crypto/bn/bn_lib.c:260:9: Array access: Offset added: [8, +oo] Size: [0, 536870848] by call to `BN_bin2bn` 
        258.       assert(b->top <= words);
        259.       if (b->top > 0)
        260.           memcpy(a, b->d, sizeof(*a) * b->top);
                       ^
        261.   
        262.       return a;
