crypto/ec/ec_print.c:103: error: INTEGER_OVERFLOW_L2
  ([0, `bn->top`] - 1):unsigned64 by call to `BN_bn2bin`.
Showing all 9 steps of the trace


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: Parameter `a->top`
  246.   	}
  247.   
  248. > int BN_num_bits(const BIGNUM *a)
  249.   	{
  250.   	int i = a->top - 1;

crypto/ec/ec_print.c:103:7: Call
101.   		return NULL;
102.   
103.   	if (!BN_bn2bin(bn, buf)) 
             ^
104.   		{
105.   		OPENSSL_free(buf);

crypto/bn/bn_lib.c:641:1: Parameter `a->top`
  639.   
  640.   /* ignore negative */
  641. > int BN_bn2bin(const BIGNUM *a, unsigned char *to)
  642.   	{
  643.   	int n,i;

crypto/bn/bn_lib.c:647:6: Call
  645.   
  646.   	bn_check_top(a);
  647.   	n=i=BN_num_bytes(a);
              ^
  648.   	while (i--)
  649.   		{

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, bn->top] - 1):unsigned64 by call to `BN_bn2bin` 
    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_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}', 'int BN_bn2bin(const BIGNUM *a, unsigned char *to)\n\t{\n\tint n,i;\n\tBN_ULONG l;\n\tbn_check_top(a);\n\tn=i=BN_num_bytes(a);\n\twhile (i--)\n\t\t{\n\t\tl=a->d[i/BN_BYTES];\n\t\t*(to++)=(unsigned char)(l>>(8*(i%BN_BYTES)))&0xff;\n\t\t}\n\treturn(n);\n\t}']