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


crypto/ui/ui_lib.c:158:1: start of procedure UI_dup_input_string()
156.   
157.   /* Same as UI_add_input_string(), excepts it takes a copy of the prompt */
158. > int UI_dup_input_string(UI *ui, const char *prompt, int echo_p,
159.   	char *result_buf, int minsize, int maxsize)
160.   	{

crypto/ui/ui_lib.c:161:2: 
159.   	char *result_buf, int minsize, int maxsize)
160.   	{
161. > 	char *prompt_copy=NULL;
162.   
163.   	if (prompt)

crypto/ui/ui_lib.c:163:6: Taking true branch
161.   	char *prompt_copy=NULL;
162.   
163.   	if (prompt)
            ^
164.   		{
165.   		prompt_copy=strdup(prompt);

crypto/ui/ui_lib.c:165:3: 
163.   	if (prompt)
164.   		{
165. > 		prompt_copy=strdup(prompt);
166.   		if (prompt_copy == NULL)
167.   			{

crypto/ui/ui_lib.c:166:7: Taking false branch
164.   		{
165.   		prompt_copy=strdup(prompt);
166.   		if (prompt_copy == NULL)
             ^
167.   			{
168.   			UIerr(UI_F_UI_DUP_INPUT_STRING,ERR_R_MALLOC_FAILURE);

crypto/ui/ui_lib.c:174:3: Condition is false
172.   	
173.   	return general_allocate_string(ui, prompt, 1,
174.   		echo_p?UI_STRING_ECHO:UI_STRING_NOECHO,
         ^
175.   		result_buf, minsize, maxsize, NULL);
176.   	}
