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


crypto/ui/ui_lib.c:220:1: start of procedure UI_dup_info_string()
218.   	}
219.   
220. > int UI_dup_info_string(UI *ui, const char *text)
221.   	{
222.   	char *text_copy=NULL;

crypto/ui/ui_lib.c:222:2: 
220.   int UI_dup_info_string(UI *ui, const char *text)
221.   	{
222. > 	char *text_copy=NULL;
223.   
224.   	if (text)

crypto/ui/ui_lib.c:224:6: Taking true branch
222.   	char *text_copy=NULL;
223.   
224.   	if (text)
            ^
225.   		{
226.   		text_copy=strdup(text);

crypto/ui/ui_lib.c:226:3: 
224.   	if (text)
225.   		{
226. > 		text_copy=strdup(text);
227.   		if (text_copy == NULL)
228.   			{

crypto/ui/ui_lib.c:227:7: Taking false branch
225.   		{
226.   		text_copy=strdup(text);
227.   		if (text_copy == NULL)
             ^
228.   			{
229.   			UIerr(UI_F_UI_DUP_INFO_STRING,ERR_R_MALLOC_FAILURE);

crypto/ui/ui_lib.c:234:2: 
232.   		}
233.   
234. > 	return general_allocate_string(ui, text, 1, UIT_INFO, 0, NULL, 0, 0,
235.   		NULL);
236.   	}

int UI_dup_info_string(UI *ui, const char *text)
	{
	char *text_copy=NULL;
	if (text)
		{
		text_copy=strdup(text);
		if (text_copy == NULL)
			{
			UIerr(UI_F_UI_DUP_INFO_STRING,ERR_R_MALLOC_FAILURE);
			return -1;
			}
		}
	return general_allocate_string(ui, text, 1, UIT_INFO, 0, NULL, 0, 0,
		NULL);
	}
['int UI_dup_info_string(UI *ui, const char *text)\n\t{\n\tchar *text_copy=NULL;\n\tif (text)\n\t\t{\n\t\ttext_copy=strdup(text);\n\t\tif (text_copy == NULL)\n\t\t\t{\n\t\t\tUIerr(UI_F_UI_DUP_INFO_STRING,ERR_R_MALLOC_FAILURE);\n\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\treturn general_allocate_string(ui, text, 1, UIT_INFO, 0, NULL, 0, 0,\n\t\tNULL);\n\t}']