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


crypto/ui/ui_lib.c:211:1: start of procedure UI_dup_info_string()
209.   	}
210.   
211. > int UI_dup_info_string(UI *ui, const char *text)
212.   	{
213.   	char *text_copy=NULL;

crypto/ui/ui_lib.c:213:2: 
211.   int UI_dup_info_string(UI *ui, const char *text)
212.   	{
213. > 	char *text_copy=NULL;
214.   
215.   	if (text)

crypto/ui/ui_lib.c:215:6: Taking true branch
213.   	char *text_copy=NULL;
214.   
215.   	if (text)
            ^
216.   		{
217.   		text_copy=strdup(text);

crypto/ui/ui_lib.c:217:3: 
215.   	if (text)
216.   		{
217. > 		text_copy=strdup(text);
218.   		if (text_copy == NULL)
219.   			{

crypto/ui/ui_lib.c:218:7: Taking false branch
216.   		{
217.   		text_copy=strdup(text);
218.   		if (text_copy == NULL)
             ^
219.   			{
220.   			UIerr(UI_F_UI_DUP_INFO_STRING,ERR_R_MALLOC_FAILURE);

crypto/ui/ui_lib.c:225:2: 
223.   		}
224.   
225. > 	return general_allocate_string(ui, text, 1, UI_INFO, NULL, 0, 0, NULL);
226.   	}
227.   

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, UI_INFO, 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, UI_INFO, NULL, 0, 0, NULL);\n\t}']