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


crypto/ec/ecp_oct.c:328:10: Call
326.           goto err;
327.   
328.       if (!BN_bin2bn(buf + 1, field_len, x))
                ^
329.           goto err;
330.       if (BN_ucmp(x, group->field) >= 0) {

crypto/bn/bn_lib.c:371:1: Parameter `ret->top`
  369.   }
  370.   
  371. > BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
  372.   {
  373.       unsigned int i, m;

crypto/ec/ecp_oct.c:336:14: Call
334.   
335.       if (form == POINT_CONVERSION_COMPRESSED) {
336.           if (!EC_POINT_set_compressed_coordinates_GFp
                    ^
337.               (group, point, x, y_bit, ctx))
338.               goto err;

crypto/ec/ec_oct.c:18:1: Parameter `x->top`
  16.   #include "ec_lcl.h"
  17.   
  18. > int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group,
  19.                                               EC_POINT *point, const BIGNUM *x,
  20.                                               int y_bit, BN_CTX *ctx)

crypto/ec/ec_oct.c:35:20: Call
  33.       if (group->meth->flags & EC_FLAGS_DEFAULT_OCT) {
  34.           if (group->meth->field_type == NID_X9_62_prime_field)
  35.               return ec_GFp_simple_set_compressed_coordinates(group, point, x,
                           ^
  36.                                                               y_bit, ctx);
  37.           else

crypto/ec/ecp_oct.c:16:1: Parameter `x_->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 `*r->d`
      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 `*rm->d`
        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/bn/bn_div.c:182:17: Call
        180.       if (!no_branch && BN_ucmp(num, divisor) < 0) {
        181.           if (rm != NULL) {
        182.               if (BN_copy(rm, num) == NULL)
                               ^
        183.                   return 0;
        184.           }

crypto/bn/bn_lib.c:280:1: <Offset trace>
278.   }
279.   
280. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
281.   {
282.       bn_check_top(b);

crypto/bn/bn_lib.c:280:1: Parameter `b->top`
          278.   }
          279.   
          280. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
          281.   {
          282.       bn_check_top(b);

crypto/bn/bn_lib.c:280:1: <Length trace>
278.   }
279.   
280. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
281.   {
282.       bn_check_top(b);

crypto/bn/bn_lib.c:280:1: Parameter `*a->d`
          278.   }
          279.   
          280. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
          281.   {
          282.       bn_check_top(b);

crypto/bn/bn_lib.c:286:9: Call
          284.       if (a == b)
          285.           return a;
          286.       if (bn_wexpand(a, b->top) == NULL)
                         ^
          287.           return NULL;
          288.   

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

crypto/bn/bn_lib.c:290:9: Array access: Offset added: [8, +oo] Size: [0, 536870848] by call to `EC_POINT_set_compressed_coordinates_GFp` 
          288.   
          289.       if (b->top > 0)
          290.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                         ^
          291.   
          292.       a->neg = b->neg;
