Delete_safety_backups() fix memory leaks

This commit is contained in:
Thomas Bernard 2018-03-02 00:45:28 +01:00
parent f32eacaa01
commit 8a1781df09

View File

@ -1729,6 +1729,7 @@ void Rotate_safety_backups(void)
void Delete_safety_backups(void) void Delete_safety_backups(void)
{ {
T_String_list *element; T_String_list *element;
T_String_list *next;
if (!Safety_backup_active) if (!Safety_backup_active)
return; return;
@ -1739,16 +1740,24 @@ void Delete_safety_backups(void)
For_each_file(Config_directory, Add_backup_file); For_each_file(Config_directory, Add_backup_file);
Change_directory(Config_directory); Change_directory(Config_directory);
for (element=Backups_main; element!=NULL; element=element->Next) for (element=Backups_main; element!=NULL; element=next)
{ {
next = element->Next;
if(remove(element->String)) if(remove(element->String))
printf("Failed to delete %s\n",element->String); printf("Failed to delete %s\n",element->String);
free(element->String);
free(element);
} }
for (element=Backups_spare; element!=NULL; element=element->Next) Backups_main = NULL;
for (element=Backups_spare; element!=NULL; element=next)
{ {
next = element->Next;
if(remove(element->String)) if(remove(element->String))
printf("Failed to delete %s\n",element->String); printf("Failed to delete %s\n",element->String);
free(element->String);
free(element);
} }
Backups_spare = NULL;
// Release lock file // Release lock file
#if defined (__MINT__) #if defined (__MINT__)