crypto/ec/ecp_smpl.c:728: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_CTX_end`.
Showing all 21 steps of the trace


crypto/ec/ecp_smpl.c:637:1: Parameter `ctx->pool.used`
635.   	}
636.   
637. > int ec_GFp_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
638.   	{
639.   	int (*field_mul)(const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *);

crypto/ec/ecp_smpl.c:665:7: Call
663.   
664.   	BN_CTX_start(ctx);
665.   	n0 = BN_CTX_get(ctx);
             ^
666.   	n1 = BN_CTX_get(ctx);
667.   	n2 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:666:7: Call
664.   	BN_CTX_start(ctx);
665.   	n0 = BN_CTX_get(ctx);
666.   	n1 = BN_CTX_get(ctx);
             ^
667.   	n2 = BN_CTX_get(ctx);
668.   	n3 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:667:7: Call
665.   	n0 = BN_CTX_get(ctx);
666.   	n1 = BN_CTX_get(ctx);
667.   	n2 = BN_CTX_get(ctx);
             ^
668.   	n3 = BN_CTX_get(ctx);
669.   	n4 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:668:7: Call
666.   	n1 = BN_CTX_get(ctx);
667.   	n2 = BN_CTX_get(ctx);
668.   	n3 = BN_CTX_get(ctx);
             ^
669.   	n4 = BN_CTX_get(ctx);
670.   	n5 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:669:7: Call
667.   	n2 = BN_CTX_get(ctx);
668.   	n3 = BN_CTX_get(ctx);
669.   	n4 = BN_CTX_get(ctx);
             ^
670.   	n5 = BN_CTX_get(ctx);
671.   	n6 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:670:7: Call
668.   	n3 = BN_CTX_get(ctx);
669.   	n4 = BN_CTX_get(ctx);
670.   	n5 = BN_CTX_get(ctx);
             ^
671.   	n6 = BN_CTX_get(ctx);
672.   	if (n6 == NULL) goto end;

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:671:7: Call
669.   	n4 = BN_CTX_get(ctx);
670.   	n5 = BN_CTX_get(ctx);
671.   	n6 = BN_CTX_get(ctx);
             ^
672.   	if (n6 == NULL) goto end;
673.   

crypto/bn/bn_ctx.c:290:1: Parameter `ctx->pool.used`
  288.   	}
  289.   
  290. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  291.   	{
  292.   	BIGNUM *ret;

crypto/ec/ecp_smpl.c:728:4: Call
726.   			{
727.   			/* a is the same point as b */
728.   			BN_CTX_end(ctx);
          ^
729.   			ret = EC_POINT_dbl(group, r, a, ctx);
730.   			ctx = NULL;

crypto/bn/bn_ctx.c:272:1: Parameter `ctx->pool.used`
  270.   	}
  271.   
  272. > void BN_CTX_end(BN_CTX *ctx)
  273.   	{
  274.   	CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/bn/bn_ctx.c:282:4: Call
  280.   		/* Does this stack frame have anything to release? */
  281.   		if(fp < ctx->used)
  282.   			BN_POOL_release(&ctx->pool, ctx->used - fp);
            ^
  283.   		ctx->used = fp;
  284.   		/* Unjam "too_many" in case "get" had failed */

crypto/bn/bn_ctx.c:440:1: <LHS trace>
438.   	}
439.   
440. > static void BN_POOL_release(BN_POOL *p, unsigned int num)
441.   	{
442.   	unsigned int offset = (p->used - 1) % BN_CTX_POOL_SIZE;

crypto/bn/bn_ctx.c:440:1: Parameter `p->used`
    438.   	}
    439.   
    440. > static void BN_POOL_release(BN_POOL *p, unsigned int num)
    441.   	{
    442.   	unsigned int offset = (p->used - 1) % BN_CTX_POOL_SIZE;

crypto/bn/bn_ctx.c:442:2: Binary operation: ([0, +oo] - 1):unsigned32 by call to `BN_CTX_end` 
    440.   static void BN_POOL_release(BN_POOL *p, unsigned int num)
    441.   	{
    442.   	unsigned int offset = (p->used - 1) % BN_CTX_POOL_SIZE;
            ^
    443.   	p->used -= num;
    444.   	while(num--)
