crypto/err/err.c:720: error: UNINITIALIZED_VALUE
  The value read from tmpp was never initialized.
Showing all 1 steps of the trace


crypto/err/err.c:720:7: 
718.   			}
719.   		
720. > 		if (tmpp != NULL) /* old entry - should not happen */
721.   			{
722.   			ERR_STATE_free(tmpp);

ERR_STATE *ERR_get_state(void)
	{
	static ERR_STATE fallback;
	ERR_STATE *ret=NULL,tmp,*tmpp;
	int thread_state_exists;
	int i;
	unsigned long pid;
	pid=(unsigned long)CRYPTO_thread_id();
	CRYPTO_r_lock(CRYPTO_LOCK_ERR);
	if (thread_hash != NULL)
		{
		tmp.pid=pid;
		ret=(ERR_STATE *)lh_retrieve(thread_hash,&tmp);
		}
	CRYPTO_r_unlock(CRYPTO_LOCK_ERR);
	if (ret == NULL)
		{
		ret=(ERR_STATE *)Malloc(sizeof(ERR_STATE));
		if (ret == NULL) return(&fallback);
		ret->pid=pid;
		ret->top=0;
		ret->bottom=0;
		for (i=0; i<ERR_NUM_ERRORS; i++)
			{
			ret->err_data[i]=NULL;
			ret->err_data_flags[i]=0;
			}
		CRYPTO_w_lock(CRYPTO_LOCK_ERR);
		if (thread_hash == NULL)
			thread_hash = lh_new(pid_hash, pid_cmp);
		if (thread_hash == NULL)
			thread_state_exists = 0;
		else
			{
			tmpp=(ERR_STATE *)lh_insert(thread_hash,ret);
			thread_state_exists = 1;
			}
		CRYPTO_w_unlock(CRYPTO_LOCK_ERR);
		if (!thread_state_exists)
			{
			ERR_STATE_free(ret);
			return(&fallback);
			}
		if (tmpp != NULL)
			{
			ERR_STATE_free(tmpp);
			}
		}
	return(ret);
	}
['ERR_STATE *ERR_get_state(void)\n\t{\n\tstatic ERR_STATE fallback;\n\tERR_STATE *ret=NULL,tmp,*tmpp;\n\tint thread_state_exists;\n\tint i;\n\tunsigned long pid;\n\tpid=(unsigned long)CRYPTO_thread_id();\n\tCRYPTO_r_lock(CRYPTO_LOCK_ERR);\n\tif (thread_hash != NULL)\n\t\t{\n\t\ttmp.pid=pid;\n\t\tret=(ERR_STATE *)lh_retrieve(thread_hash,&tmp);\n\t\t}\n\tCRYPTO_r_unlock(CRYPTO_LOCK_ERR);\n\tif (ret == NULL)\n\t\t{\n\t\tret=(ERR_STATE *)Malloc(sizeof(ERR_STATE));\n\t\tif (ret == NULL) return(&fallback);\n\t\tret->pid=pid;\n\t\tret->top=0;\n\t\tret->bottom=0;\n\t\tfor (i=0; i<ERR_NUM_ERRORS; i++)\n\t\t\t{\n\t\t\tret->err_data[i]=NULL;\n\t\t\tret->err_data_flags[i]=0;\n\t\t\t}\n\t\tCRYPTO_w_lock(CRYPTO_LOCK_ERR);\n\t\tif (thread_hash == NULL)\n\t\t\tthread_hash = lh_new(pid_hash, pid_cmp);\n\t\tif (thread_hash == NULL)\n\t\t\tthread_state_exists = 0;\n\t\telse\n\t\t\t{\n\t\t\ttmpp=(ERR_STATE *)lh_insert(thread_hash,ret);\n\t\t\tthread_state_exists = 1;\n\t\t\t}\n\t\tCRYPTO_w_unlock(CRYPTO_LOCK_ERR);\n\t\tif (!thread_state_exists)\n\t\t\t{\n\t\t\tERR_STATE_free(ret);\n\t\t\treturn(&fallback);\n\t\t\t}\n\t\tif (tmpp != NULL)\n\t\t\t{\n\t\t\tERR_STATE_free(tmpp);\n\t\t\t}\n\t\t}\n\treturn(ret);\n\t}']