crypto/ui/ui_lib.c:202: error: MEMORY_LEAK
  memory dynamically allocated by call to `strdup()` at line 193, column 15 is not reachable after line 202, column 3.
Showing all 6 steps of the trace


crypto/ui/ui_lib.c:186:1: start of procedure UI_dup_verify_string()
184.   	}
185.   
186. > int UI_dup_verify_string(UI *ui, const char *prompt, int echo_p,
187.   	char *result_buf, int minsize, int maxsize, const char *test_buf)
188.   	{

crypto/ui/ui_lib.c:189:2: 
187.   	char *result_buf, int minsize, int maxsize, const char *test_buf)
188.   	{
189. > 	char *prompt_copy=NULL;
190.   
191.   	if (prompt)

crypto/ui/ui_lib.c:191:6: Taking true branch
189.   	char *prompt_copy=NULL;
190.   
191.   	if (prompt)
            ^
192.   		{
193.   		prompt_copy=strdup(prompt);

crypto/ui/ui_lib.c:193:3: 
191.   	if (prompt)
192.   		{
193. > 		prompt_copy=strdup(prompt);
194.   		if (prompt_copy == NULL)
195.   			{

crypto/ui/ui_lib.c:194:7: Taking false branch
192.   		{
193.   		prompt_copy=strdup(prompt);
194.   		if (prompt_copy == NULL)
             ^
195.   			{
196.   			UIerr(UI_F_UI_DUP_VERIFY_STRING,ERR_R_MALLOC_FAILURE);

crypto/ui/ui_lib.c:202:3: Condition is false
200.   	
201.   	return general_allocate_string(ui, prompt, 1,
202.   		echo_p?UI_VERIFY_ECHO:UI_VERIFY_NOECHO,
         ^
203.   		result_buf, minsize, maxsize, test_buf);
204.   	}

int UI_dup_verify_string(UI *ui, const char *prompt, int echo_p,
	char *result_buf, int minsize, int maxsize, const char *test_buf)
	{
	char *prompt_copy=NULL;
	if (prompt)
		{
		prompt_copy=strdup(prompt);
		if (prompt_copy == NULL)
			{
			UIerr(UI_F_UI_DUP_VERIFY_STRING,ERR_R_MALLOC_FAILURE);
			return -1;
			}
		}
	return general_allocate_string(ui, prompt, 1,
		echo_p?UI_VERIFY_ECHO:UI_VERIFY_NOECHO,
		result_buf, minsize, maxsize, test_buf);
	}
['int UI_dup_verify_string(UI *ui, const char *prompt, int echo_p,\n\tchar *result_buf, int minsize, int maxsize, const char *test_buf)\n\t{\n\tchar *prompt_copy=NULL;\n\tif (prompt)\n\t\t{\n\t\tprompt_copy=strdup(prompt);\n\t\tif (prompt_copy == NULL)\n\t\t\t{\n\t\t\tUIerr(UI_F_UI_DUP_VERIFY_STRING,ERR_R_MALLOC_FAILURE);\n\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\treturn general_allocate_string(ui, prompt, 1,\n\t\techo_p?UI_VERIFY_ECHO:UI_VERIFY_NOECHO,\n\t\tresult_buf, minsize, maxsize, test_buf);\n\t}']