crypto/engine/eng_table.c:210: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `lh_doall_arg`.
Showing all 7 steps of the trace


crypto/engine/eng_table.c:206:1: Parameter `(*table)->piles.num_nodes`
204.   static IMPLEMENT_LHASH_DOALL_ARG_FN(int_unregister_cb, ENGINE_PILE, ENGINE)
205.   
206. > void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e)
207.   	{
208.   	CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);

crypto/engine/eng_table.c:210:3: Call
208.   	CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
209.   	if(int_table_check(table, 0))
210.   		lh_ENGINE_PILE_doall_arg(&(*table)->piles,
         ^
211.   					 LHASH_DOALL_ARG_FN(int_unregister_cb),
212.   					 ENGINE, e);

crypto/lhash/lhash.c:305:1: Parameter `lh->num_nodes`
  303.   	}
  304.   
  305. > void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
  306.   	{
  307.   	doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);

crypto/lhash/lhash.c:307:2: Call
  305.   void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
  306.   	{
  307.   	doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);
          ^
  308.   	}
  309.   

crypto/lhash/lhash.c:270:1: <LHS trace>
268.   	}
269.   
270. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
271.   			  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
272.   	{

crypto/lhash/lhash.c:270:1: Parameter `lh->num_nodes`
    268.   	}
    269.   
    270. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
    271.   			  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
    272.   	{

crypto/lhash/lhash.c:281:7: Binary operation: ([0, +oo] - 1):unsigned32 by call to `lh_doall_arg` 
    279.   	/* reverse the order so we search from 'top to bottom'
    280.   	 * We were having memory leaks otherwise */
    281.   	for (i=lh->num_nodes-1; i>=0; i--)
                 ^
    282.   		{
    283.   		a=lh->b[i];

static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
			  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
	{
	int i;
	LHASH_NODE *a,*n;
	if (lh == NULL)
		return;
	for (i=lh->num_nodes-1; i>=0; i--)
		{
		a=lh->b[i];
		while (a != NULL)
			{
			n=a->next;
			if(use_arg)
				func_arg(a->data,arg);
			else
				func(a->data);
			a=n;
			}
		}
	}
['void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e)\n\t{\n\tCRYPTO_w_lock(CRYPTO_LOCK_ENGINE);\n\tif(int_table_check(table, 0))\n\t\tlh_ENGINE_PILE_doall_arg(&(*table)->piles,\n\t\t\t\t\t LHASH_DOALL_ARG_FN(int_unregister_cb),\n\t\t\t\t\t ENGINE, e);\n\tCRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);\n\t}', 'void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)\n\t{\n\tdoall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);\n\t}', 'static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,\n\t\t\t  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)\n\t{\n\tint i;\n\tLHASH_NODE *a,*n;\n\tif (lh == NULL)\n\t\treturn;\n\tfor (i=lh->num_nodes-1; i>=0; i--)\n\t\t{\n\t\ta=lh->b[i];\n\t\twhile (a != NULL)\n\t\t\t{\n\t\t\tn=a->next;\n\t\t\tif(use_arg)\n\t\t\t\tfunc_arg(a->data,arg);\n\t\t\telse\n\t\t\t\tfunc(a->data);\n\t\t\ta=n;\n\t\t\t}\n\t\t}\n\t}']