crypto/ec/ec_print.c:190: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `EC_POINT_bn2point`.
Showing all 8 steps of the trace


crypto/ec/ec_print.c:187:7: Call
185.   	BIGNUM   *tmp_bn=NULL;
186.   
187.   	if (!BN_hex2bn(&tmp_bn, buf))
             ^
188.   		return NULL;
189.   

crypto/bn/bn_print.c:172:1: Parameter `(*bn)->top`
  170.   	}
  171.   
  172. > int BN_hex2bn(BIGNUM **bn, const char *a)
  173.   	{
  174.   	BIGNUM *ret=NULL;

crypto/ec/ec_print.c:190:8: Call
188.   		return NULL;
189.   
190.   	ret = EC_POINT_bn2point(group, tmp_bn, point, ctx);
              ^
191.   
192.   	BN_clear_free(tmp_bn);

crypto/ec/ec_print.c:89:1: Parameter `bn->top`
  87.   }
  88.   
  89. > EC_POINT *EC_POINT_bn2point(const EC_GROUP *group,
  90.                               const BIGNUM *bn,
  91.                               EC_POINT *point, 

crypto/ec/ec_print.c:98:17: Call
  96.   	EC_POINT      *ret;
  97.   
  98.   	if ((buf_len = BN_num_bytes(bn)) == 0) return NULL;
                         ^
  99.   	buf = OPENSSL_malloc(buf_len);
  100.   	if (buf == NULL)

crypto/bn/bn_lib.c:248:1: <LHS trace>
246.   	}
247.   
248. > int BN_num_bits(const BIGNUM *a)
249.   	{
250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:248:1: Parameter `a->top`
    246.   	}
    247.   
    248. > int BN_num_bits(const BIGNUM *a)
    249.   	{
    250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:250:2: Binary operation: ([0, +oo] - 1):unsigned64 by call to `EC_POINT_bn2point` 
    248.   int BN_num_bits(const BIGNUM *a)
    249.   	{
    250.   	int i = a->top - 1;
            ^
    251.   	bn_check_top(a);
    252.   

int BN_num_bits(const BIGNUM *a)
	{
	int i = a->top - 1;
	bn_check_top(a);
	if (BN_is_zero(a)) return 0;
	return ((i*BN_BITS2) + BN_num_bits_word(a->d[i]));
	}
['EC_POINT *EC_POINT_hex2point(const EC_GROUP *group,\n                             const char *buf,\n                             EC_POINT *point,\n                             BN_CTX *ctx)\n\t{\n\tEC_POINT *ret=NULL;\n\tBIGNUM   *tmp_bn=NULL;\n\tif (!BN_hex2bn(&tmp_bn, buf))\n\t\treturn NULL;\n\tret = EC_POINT_bn2point(group, tmp_bn, point, ctx);\n\tBN_clear_free(tmp_bn);\n\treturn ret;\n\t}', "int BN_hex2bn(BIGNUM **bn, const char *a)\n\t{\n\tBIGNUM *ret=NULL;\n\tBN_ULONG l=0;\n\tint neg=0,h,m,i,j,k,c;\n\tint num;\n\tif ((a == NULL) || (*a == '\\0')) return(0);\n\tif (*a == '-') { neg=1; a++; }\n\tfor (i=0; isxdigit((unsigned char) a[i]); i++)\n\t\t;\n\tnum=i+neg;\n\tif (bn == NULL) return(num);\n\tif (*bn == NULL)\n\t\t{\n\t\tif ((ret=BN_new()) == NULL) return(0);\n\t\t}\n\telse\n\t\t{\n\t\tret= *bn;\n\t\tBN_zero(ret);\n\t\t}\n\tif (bn_expand(ret,i*4) == NULL) goto err;\n\tj=i;\n\tm=0;\n\th=0;\n\twhile (j > 0)\n\t\t{\n\t\tm=((BN_BYTES*2) <= j)?(BN_BYTES*2):j;\n\t\tl=0;\n\t\tfor (;;)\n\t\t\t{\n\t\t\tc=a[j-m];\n\t\t\tif ((c >= '0') && (c <= '9')) k=c-'0';\n\t\t\telse if ((c >= 'a') && (c <= 'f')) k=c-'a'+10;\n\t\t\telse if ((c >= 'A') && (c <= 'F')) k=c-'A'+10;\n\t\t\telse k=0;\n\t\t\tl=(l<<4)|k;\n\t\t\tif (--m <= 0)\n\t\t\t\t{\n\t\t\t\tret->d[h++]=l;\n\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\tj-=(BN_BYTES*2);\n\t\t}\n\tret->top=h;\n\tbn_correct_top(ret);\n\tret->neg=neg;\n\t*bn=ret;\n\tbn_check_top(ret);\n\treturn(num);\nerr:\n\tif (*bn == NULL) BN_free(ret);\n\treturn(0);\n\t}", 'EC_POINT *EC_POINT_bn2point(const EC_GROUP *group,\n                            const BIGNUM *bn,\n                            EC_POINT *point,\n                            BN_CTX *ctx)\n\t{\n\tsize_t        buf_len=0;\n\tunsigned char *buf;\n\tEC_POINT      *ret;\n\tif ((buf_len = BN_num_bytes(bn)) == 0) return NULL;\n\tbuf = OPENSSL_malloc(buf_len);\n\tif (buf == NULL)\n\t\treturn NULL;\n\tif (!BN_bn2bin(bn, buf))\n\t\t{\n\t\tOPENSSL_free(buf);\n\t\treturn NULL;\n\t\t}\n\tif (point == NULL)\n\t\t{\n\t\tif ((ret = EC_POINT_new(group)) == NULL)\n\t\t\t{\n\t\t\tOPENSSL_free(buf);\n\t\t\treturn NULL;\n\t\t\t}\n\t\t}\n\telse\n\t\tret = point;\n\tif (!EC_POINT_oct2point(group, ret, buf, buf_len, ctx))\n\t\t{\n\t\tif (point == NULL)\n\t\t\tEC_POINT_clear_free(ret);\n\t\tOPENSSL_free(buf);\n\t\treturn NULL;\n\t\t}\n\tOPENSSL_free(buf);\n\treturn ret;\n\t}', 'int BN_num_bits(const BIGNUM *a)\n\t{\n\tint i = a->top - 1;\n\tbn_check_top(a);\n\tif (BN_is_zero(a)) return 0;\n\treturn ((i*BN_BITS2) + BN_num_bits_word(a->d[i]));\n\t}']