FreeArea *allocated_to_area;
char *copy_blocks_path;
+ bool copy_blocks_path_is_our_file;
bool copy_blocks_auto;
const char *copy_blocks_root;
int copy_blocks_fd;
if (p->new_partition)
fdisk_unref_partition(p->new_partition);
- free(p->copy_blocks_path);
+ if (p->copy_blocks_path_is_our_file)
+ unlink_and_free(p->copy_blocks_path);
+ else
+ free(p->copy_blocks_path);
safe_close(p->copy_blocks_fd);
free(p->format);
* loopback file for us. */
if (fstype_is_ro(p->format)) {
p->copy_blocks_path = TAKE_PTR(temp);
+ p->copy_blocks_path_is_our_file = true;
continue;
}
}
p->copy_blocks_path = TAKE_PTR(temp);
+ p->copy_blocks_path_is_our_file = true;
}
return 0;